Alguem pode analisar o meu IPTables?
O que eu quero é ter um servidor Linux para distribuir a internet para uma rede com máquinas Windows, bloqueando os acessos a MSN, ICQ...e através de minha máquina de casa(Servidor Amigo), por Terminal Server eu gostaria de acessar uma máquina da rede interna chamada IPJoc.
!/bin/bash
RedeLocal="192.168.1.1/24"
IPJoc="192.168.1.5"
Servidoramigo="201.38.23.1"
MSN1="207.46.104.20"
MSN2="207.46.107.141"
MSN3="207.46.110.100"
MSN4="207.68.177.126"
ICQ1="64.12.164.248"
ICQ2="64.12.202.217"
ICQ3="205.188.251.88"
ICQ4="205.188.248.121"
Bloqueando os pacotes que saem da rede local com destino ao MSN
==========================================
iptables -A FORWARD -s $RedeLocal -d $MSN1 -j DROP
iptables -A FORWARD -s $RedeLocal -d $MSN2 -j DROP
iptables -A FORWARD -s $RedeLocal -d $MSN3 -j DROP
iptables -A FORWARD -s $RedeLocal -d $MSN4 -j DROP
Bloqueando os pacotes que saem do MSN com destino ao servidor Linux(Porta de IP dinâmico)
==========================================
iptables -A INPUT -s $MSN1 -i ppp+ -j DROP
iptables -A INPUT -s $MSN2 -i ppp+ -j DROP
iptables -A INPUT -s $MSN3 -i ppp+ -j DROP
iptables -A INPUT -s $MSN4 -i ppp+ -j DROP
Bloqueando os pacotes que saem da rede local com destino ao ICQ
=======================================
iptables -A FORWARD -s $RedeLocal -d $ICQ1 -j DROP
iptables -A FORWARD -s $RedeLocal -d $ICQ2 -j DROP
iptables -A FORWARD -s $RedeLocal -d $ICQ3 -j DROP
iptables -A FORWARD -s $RedeLocal -d $ICQ4 -j DROP
Bloqueando os pacotes que saem do ICQ com destino ao servidor Linux(Porta de IP dinâmico)
==========================================
iptables -A INPUT -s $ICQ1 -i ppp+ -j DROP
iptables -A INPUT -s $ICQ2 -i ppp+ -j DROP
iptables -A INPUT -s $ICQ3 -i ppp+ -j DROP
iptables -A INPUT -s $ICQ4 -i ppp+ -j DROP
Limpando os chains (pra que serve isso??)
==========================================
iptables -F #Esvazia as regras da tabela padrão filter
iptables -t nat -F #Esvazia as regras da tabela nat
iptables -X #Apaga chains criadas pelo usuário na tabela filter
iptables -t nat -X #Apaga chains criadas pelo usuário na tabela nat
isso está certo? Para que serve definir uma política padrão para uma chain ?
==========================================
iptables -P INPUT ACCEPT #Determina pol.padrão-chain Input da tab filter p/aceitar
iptables -P OUTPUT ACCEPT #Determina pol.padrão-chain Output da tab filter p/aceitar
iptables -P FORWARD ACCEPT #Determina pol.padrão-chain Forward da tab filter p/aceitar
iptables -t nat -P PREROUTING ACCEPT #Determina pol.padrão-Prerouting-tab nat p/aceitar
iptables -t nat -P OUTPUT ACCEPT #Determina pol.padrão-Output-tab nat p/aceitar
iptables -t nat -P POSTROUTING ACCEPT #Determina pol.padrão-Postrouting-tab nat p/aceitar
Mascarar a rede interna p/que acessem a internet através de IP dinâmico do servidor Linux
==========================================
iptables -t nat -A POSTROUTING -s $RedeLocal -o ppp+ -j MASQUERADE
Autorização p/alguns usuários da Internet acessarem uma máquina interna da rede via telnet
==========================================
iptables -t nat -A PREROUTING -s $Servidoramigo -i ppp+ -p tcp --dport 23 -j DNAT --to-port $IPJoc:23
echo 1 > /proc/sys/net/ipv4/ip_forward #
Re: Alguem pode analisar o meu IPTables?
Espero que o texto abaixo te de uma mao !!!
# Ativa roteamento via kernel
echo 1 > /proc/sys/net/ipv4/ip_forward
# Limpando as chains existentes
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
# Aplicando politicas de acesso
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
# Habilitando a proteção contra "TCP SYN Cookie"
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
# Permissões de acesso ao firewall
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# Redirecionando algumas portas
iptables -t nat -A PREROUTING -i ethX -p tcp --dport 58000:59000 -j DNAT --to-dest 192.168.0.10
iptables -A FORWARD -p tcp -i ethX --dport 58000:59000 -d 192.168.0.10 -j ACCEPT
# Compartilhando a conexao
iptables -t nat -A POSTROUTING -o ethX -j MASQUERADE
# Bloqueando alguns serviços desnecessarios
iptables -A FORWARD -s 192.168.0.0/24 -p tcp --dport 1863 -j REJECT
iptables -A FORWARD -s 192.168.0.0/24 -d loginnet.passport.com -j REJECT
iptables -A FORWARD -s 192.168.0.0/24 -d webmessenger.msn.com -j REJECT
# Fecha o resto
iptables -A INPUT -j DROP
Abraçao
Re: Alguem pode analisar o meu IPTables?
gatoseco, obrigada pela ajuda, segue abaixo algumas perguntas...
# Permissões de acesso ao firewall
iptables -A INPUT -i lo -j ACCEPT (o que quer dizer lo ??)
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
(o que esta linha faz?)
# Redirecionando algumas portas (como eu faço para redirecionar apenas o serviço de terminal server de modo que um usuário específico da internet possa acessar uma máquina interna da minha rede?)
iptables -t nat -A PREROUTING -i ethX -p tcp --dport 58000:59000 -j DNAT --to-dest 192.168.0.10
iptables -A FORWARD -p tcp -i ethX --dport 58000:59000 -d 192.168.0.10 -j ACCEPT
# Compartilhando a conexao (usar ppp0 ou eth0 é a mesma coisa? meu IP é dinâmico - velox)
iptables -t nat -A POSTROUTING -o ethX -j MASQUERADE
Re: Alguem pode analisar o meu IPTables?
- "lo" é o nome da interface de loopback... Essa interface responde pelo endereço 127.0.0.1.
- iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT - Essa linha faz com que todas as conexões já iniciadas e estabelecidas continuem estabelecidas de quando vc aplicar o firewall em diante...
Para redirecionar uma porta vc usa por exemplo: redirecionar porta 4000 para IP interno 192.168.0.5 na porta 5800:
iptables -A FORWARD -d 192.168.0.5 -j ACCEPT
iptables -t nat -A INPUT -p tcp --dport 4000 -j DNAT --to 192.168.0.5:5800
- No seu caso, como o IP é dinamico, vc deve usar ppp0, pois acho que é do tipo PPPoE, só nao tenho certeza pq aqui em SP é Telefonica...
Espero ter ajudado.
[]'s
Roberto
Re: Alguem pode analisar o meu IPTables?
obrigada roberto, mais uma perguntinha:
Eu tenho uma lista de portas que peguei num fórum. Eu sei que por exemplo, para fazer Telnet tenho para uma máquina dentro da minha rede eu tenho que fazer um forward da porta 23. Só não entendo esse negócio de porta do linux para porta do micro. Não devem ser sempre o mesmo nº?
Deixa eu tentar me explicar melhor. Vou aproveitar o seu exemplo:
iptables -A FORWARD -d 192.168.0.5 -j ACCEPT
iptables -t nat -A INPUT -p tcp --dport 4000 -j DNAT --to 192.168.0.5:5800
Por que alguém direciona uma porta 4000 para uma porta 5800? Não deveria sempre ter o mesmo número?
Especificamente no meu caso que quero que o IP "201.38.23.1" acesse uma máquina da minha rede interna (IP=192.168.1.5) por Telnet, eu coloco o que?