Saida por diferentes rotas
Galera estou com a seguinte configuração:
Tenho um servidor linux redhat 8.0 o qual tenho configurado iptables e dois endereços ip´s válidos, assim tenho:
eth0 200.xxx.xxx.107
eth0:1 200.xxx.xxx.106
eth1 192.168.0.1
E todas as minhas máquinas "saem" pelo endereço 107
O que eu quero é fazer com que uma ou algumas máquinas saiam pelo endereço 106.
O que preciso configurar para que isso aconteça???
Obrigado a todos!!!
[]´s
Saida por diferentes rotas
Depende, se quizer separar por porta use:
iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to 200.xxx.xxx.106
iptables -t nat -A PREROUTING -p tcp --dport 21 -j DNAT --to 200.xxx.xxx.107
Se for por ip:
iptables -t nat -A PREROUTING -p tcp -s IP -j DNAT --to 200.xxx.xxx.106
iptables -t nat -A PREROUTING -p tcp -s IP -j DNAT --to 200.xxx.xxx.106
Lembrando que aki vc pode separar por espaços os ips....
Saida por diferentes rotas
Ok,
Mas o ip passa a sair somente pelas portas padrão, ex. eu uso uma porta específica para um sistema e do modo atual funciona legal, só que depois que eu faço o lance do ip para de funcionar...
E agora o que fazer???
Saida por diferentes rotas
iptables -t nat -A PREROUTING -p tcp -s IP --dport 80 -j DNAT --to 200.xxx.xxx.106:15
iptables -t nat -A PREROUTING -p tcp -s IP --dport 21 -j DNAT --to 200.xxx.xxx.107:22
Assim vc troca de portas!
iptables -t nat -A PREROUTING -p tcp -s IP --dport 21 -j DNAT --to 200.xxx.xxx.106
iptables -t nat -A PREROUTING -p tcp -s IP --dport 80 -j DNAT --to 200.xxx.xxx.107
E assim mantem....
Saida por diferentes rotas
Testei:
iptables -t nat -A PREROUTING -p tcp -s 192.168.0.103 --dport 2593 -j DNAT --to 200.xxx.xxx.106
E não funcionou....
Ele sai pelo endereço porém a regra de porta num fumfa....
Saida por diferentes rotas
Tenta
iptables -t nat -A PREROUTING -p tcp -s IP --dport 21 -j DNAT --to 200.xxx.xxx.106:21
iptables -t nat -A PREROUTING -p tcp -s IP --dport 80 -j DNAT --to 200.xxx.xxx.107:80
Saida por diferentes rotas
Tbm não funcionou...
Sempre tive esse problema com o lance das portas, para redirecionamento eu uso o REDIR pq com o iptables nunca funcionou...
Saida por diferentes rotas
Caracas, não consigo entender, aki funfa!!! <IMG SRC="images/forum/icons/icon_mad.gif"> <IMG SRC="images/forum/icons/icon_mad.gif"> <IMG SRC="images/forum/icons/icon_mad.gif"> <IMG SRC="images/forum/icons/icon_confused.gif">
Saida por diferentes rotas
Será que não tem que fazer algo antes para que isso funcione???
Saida por diferentes rotas
Posta ae seu script ou as regras que vc usa pra nois estuda...
Saida por diferentes rotas
galera, desculpa.. vamo ve se entendi bem..
pq vc´s estao tentando usar PREROUTING em uma regra que vai sair pelo firewall.. e nao entrar e ser aplicado NAT em cima dele?
acredito que o certo é ser na chain FORWARD , onde seria algo assim..
$IPTABLES -A FORWARD -p tcp -s $INT_NET -i eth1 -o eth0:1 --dport 80 -j ACCEPT
e assim por diante..
porem acredito que a rota padrao de saida do firewall tera que ser altera para a eth0:1, usando o iproute2
mais ainda acho que o qeu vc quer fazer nao vai funcionar, posi como a rota padrao de saida do firewall vai ser sempre a eth0:1, todas as porats sairam por esse gateway,,
eu nunca testei isso, pra saber se funciona direcionar pra outra rota apenas algumas portas.. porem vc tem essa possibilidade de testar ae.. se funcionar sem alterar a rota padrao do linux.. apenas use a regra acima de forward..
falow
Saida por diferentes rotas
# Generated by iptables-save v1.2.6a on Thu Dec 12 08:36:07 2002
*nat
<IMG SRC="images/forum/icons/icon_razz.gif">REROUTING ACCEPT [562:66976]
<IMG SRC="images/forum/icons/icon_razz.gif">OSTROUTING ACCEPT [20:1462]
<IMG SRC="images/forum/icons/icon_eek.gif">UTPUT ACCEPT [45:3116]
-A POSTROUTING -o eth0 -j SNAT --to-source 200.xxx.xxx.107
-A POSTROUTING -o eth0 -j SNAT --to-source 200.xxx.xxx.106
COMMIT
# Completed on Thu Dec 12 08:36:07 2002
# Generated by iptables-save v1.2.6a on Thu Dec 12 08:36:07 2002
*filter
:INPUT DROP [178:30711]
:FORWARD DROP [28:1750]
<IMG SRC="images/forum/icons/icon_eek.gif">UTPUT DROP [0:0]
:allowed - [0:0]
:bad_tcp_packets - [0:0]
:icmp_packets - [0:0]
:tcp_packets - [0:0]
:udpincoming_packets - [0:0]
-A INPUT -p tcp -j bad_tcp_packets
-A INPUT -i eth0 -p icmp -j icmp_packets
-A INPUT -i eth0 -p tcp -j tcp_packets
-A INPUT -i eth0 -p udp -j udpincoming_packets
-A INPUT -d 192.168.255.255 -i eth1 -j ACCEPT
-A INPUT -s 127.0.0.1 -i lo -j ACCEPT
-A INPUT -s 192.168.0.1 -i lo -j ACCEPT
-A INPUT -s 200.xxx.xxx.107 -i lo -j ACCEPT
-A INPUT -s 200.xxx.xxx.106 -i lo -j ACCEPT
-A INPUT -s 192.168.0.0/255.255.255.0 -i eth1 -j ACCEPT
-A INPUT -d 200.xxx.xxx.107 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -d 200.xxx.xxx.106 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -m limit --limit 3/min --limit-burst 3 -j DROP
-A FORWARD -p tcp -j bad_tcp_packets
-A FORWARD -i eth1 -j ACCEPT
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -m limit --limit 3/min --limit-burst 3 -j DROP
-A OUTPUT -p tcp -j bad_tcp_packets
-A OUTPUT -s 127.0.0.1 -j ACCEPT
-A OUTPUT -s 192.168.0.1 -j ACCEPT
-A OUTPUT -s 200.xxx.xxx.107 -j ACCEPT
-A OUTPUT -s 200.xxx.xxx.106 -j ACCEPT
-A OUTPUT -m limit --limit 3/min --limit-burst 3 -j DROP
-A allowed -p tcp -m tcp --tcp-flags SYN,RST,ACK SYN -j ACCEPT
-A allowed -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT
-A allowed -p tcp -j DROP
-A bad_tcp_packets -p tcp -m state --state NEW -m tcp ! --tcp-flags SYN,RST,ACK SYN -j DROP
-A bad_tcp_packets -p tcp -m state --state NEW -m tcp ! --tcp-flags SYN,RST,ACK SYN -j DROP
-A bad_tcp_packets -s 192.168.0.0/255.255.0.0 -i eth0 -j DROP
-A bad_tcp_packets -s 10.0.0.0/255.0.0.0 -i eth0 -j DROP
-A bad_tcp_packets -s 172.16.0.0/255.240.0.0 -i eth0 -j DROP
-A icmp_packets -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A icmp_packets -p icmp -m icmp --icmp-type 11 -j ACCEPT
-A tcp_packets -p tcp -m tcp --dport 21 -j allowed
-A tcp_packets -p tcp -m tcp --dport 22 -j allowed
-A tcp_packets -p tcp -m tcp --dport 23 -j allowed
-A tcp_packets -p tcp -m tcp --dport 25 -j allowed
-A tcp_packets -p tcp -m tcp --dport 80 -j allowed
-A tcp_packets -p tcp -m tcp --dport 113 -j allowed
-A tcp_packets -p tcp -m tcp --dport 110 -j allowed
-A tcp_packets -p tcp -m tcp --dport 3128 -j allowed
-A tcp_packets -p tcp -m tcp --dport 2593 -j allowed
-A tcp_packets -p tcp -m tcp --dport 8888 -j allowed
-A udpincoming_packets -p udp -m udp --sport 2074 -j ACCEPT
-A udpincoming_packets -p udp -m udp --sport 4000 -j ACCEPT
COMMIT
# Completed on Thu Dec 12 08:36:07 2002
Saida por diferentes rotas
Danilo, o caracter : não eh aceito em eth0:1
Saida por diferentes rotas
Me refiro à regra de iptables....
Saida por diferentes rotas
Alguém tem alguma dica???
Saida por diferentes rotas
ATNunes
quando eu coloquei etho:1 no exemplo da regra.. foi apenas pra vc saber que se trata do ip 200.xxx.xxx.106
altere na regra o eth0:1 para o ip para qual ele pertence..
falow
Saida por diferentes rotas
Só pra ter certeza, ficaria assim então:
iptables -A FORWARD -p tcp -s 192.168.0.103 -i eth1 -o 200.189.79.106 --dport 2593 -j ACCEPT
Certo???
Saida por diferentes rotas
isso ae, proem acho que vc tem que trocar o 192.168.0.103 por algo tipo 192.168.0.0/24, a menos que essa porta so vai ser usada por esse ip..
lembre-se que isso so vai funcionar se o linux aceitar fazer as rotas para esse ip sem alterar o default gateway do linux.. como eu te falei antes..
blz?
Saida por diferentes rotas
Tentei e não funcionou.....
Será que tem algo que entre em conflito nas minhas regras de iptables???
Saida por diferentes rotas
as vezes nao é conflito..
e sim o esquema de gateway default do linux usado para sair pra fora..
exemplo, se vc der um
TRACERT www.uol.com.br
ele saira pelo default gateway do linux.. que deve ser o 200.xxx.xxx.107
e como eu ta falei antes.. acho que sem mudar a rota padrao do linux.. a regra nao funciona.. eu nunca testei.. mais a logica do TCPIP é sim..
de repente se vc adicionar uma rota statica na tabela de roteamento no linux para o ip 200.xxx.xxx.106 deva funcionar...
[ Esta mensagem foi editada por: Danilo_Montagna em 23-01-2003 14:03 ]
[ Esta mensagem foi editada por: Danilo_Montagna em 23-01-2003 14:06 ]