Redirecionamento de interface

1. Redirecionamento de interface

Joel
simberg

(usa Debian)

Enviado em 13/01/2014 - 14:34h

Boa tarde.

Tenho:

eth0 - Wan
eth1 - Rede LAN (rede 10.10.10.0/24)
eth2 - Wan2


Minha rede está com nat e a saída é sempre eth0, mas preciso que uma máquina da rede 10 saia pela rede eth2, mas apenas essa máquina.

Tanto para porta 80 e para 443.

Tentei de tudo e até agora nada.



Obrigado.


  


2. Re: Redirecionamento de interface

Carlos Alberto de Souza Barbosa
souzacarlos

(usa Outra)

Enviado em 13/01/2014 - 17:17h

Essa configuração não poderia ser feita direto na máquina?

aguardo.


3. Re: Redirecionamento de interface

Buckminster
Buckminster

(usa Debian)

Enviado em 13/01/2014 - 21:29h

Se você está usando o Iptables, posta aqui o script dele.


4. Re: Redirecionamento de interface

Joel
simberg

(usa Debian)

Enviado em 14/01/2014 - 08:43h

SouzaCarlos, na máquina coloco no gateway o mesmo IP que as outras, porque a máquina tem seu IP com NAT. Ela vai ser endereçada para o Firewall e Proxy como as outras, onde entra em uma WhiteList. Como sugere fazer isso na máquina?

------------------------------------------

Buckminster abaixo as regras do meu firewall.


#!/bin/bash

### BEGIN INIT INFO
# Provides: regras.sh
# Required-Start: $local_fs $remote_fs $network $syslog
# Required-Stop: $local_fs $remote_fs $network $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start regras.sh at boot time
# Description: Enable service provided by regras.sh
### END INIT INFO


# chkconfig: 345 99 10
# description: regras

start(){


modprobe ip_nat_ftp
modprobe ip_tables
modprobe iptable_nat
modprobe ip_conntrack_ftp
modprobe ip_conntrack

#Removendo regras
iptables -F
iptables -X
iptables -F INPUT
iptables -F OUTPUT
iptables -F POSTROUTING -t nat
iptables -F PREROUTING -t nat

WAN="eth0"


#Redirecionando a porta 80 para 3128 do Squid

iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128


#Mascaramento
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

#Redirecionamento de pacotes
echo 1 > /proc/sys/net/ipv4/ip_forward


#Liberando portas
iptables -A INPUT -p tcp --destination-port 8080 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 80 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 2022 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 137 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 138 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 139 -j ACCEPT

iptables -A INPUT -p tcp --destination-port 7070 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 1755 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 554 -j ACCEPT

iptables -A INPUT -p tcp --destination-port 443 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 1935 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 3128 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 22 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 1080 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 11111 -j ACCEPT

#Permitindo que os pacotes passem pelo Firewall
iptables -t filter -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t filter -A FORWARD -s 10.10.10.0/24 -o eth0 -j ACCEPT
iptables -t filter -A FORWARD -s 10.10.11.0/24 -o eth0 -j ACCEPT

#Bloqueando
#Protecao contra port scanners ocultos
#iptables -A INPUT -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT

#Bloqueando Tracertroute
iptables -A INPUT -p udp -s 0/0 -i eth0 --dport 33435:33525 -j DROP

#Proteção contra ataques
#iptables -A INPUT -m state --state INVALID -j DROP

#iptables -t filter -A FORWARD -j REJECT

}

case "$1" in

"start") start ;;
*)

echo
echo "use start"

;;
esac


------------------

Lembrando:

Quero que uma máquina rede 10 que entra pela eth1 saia pela eth2 e não pela eth0, como é o normal.


5. Re: Redirecionamento de interface

Carlos Alberto de Souza Barbosa
souzacarlos

(usa Outra)

Enviado em 14/01/2014 - 13:46h

Tira uma dúvida,esse segundo link também entra no firewall e tá balanceando no squid ou ele é independente?

simberg escreveu:

SouzaCarlos, na máquina coloco no gateway o mesmo IP que as outras, porque a máquina tem seu IP com NAT. Ela vai ser endereçada para o Firewall e Proxy como as outras, onde entra em uma WhiteList. Como sugere fazer isso na máquina?

------------------------------------------

Buckminster abaixo as regras do meu firewall.


#!/bin/bash

### BEGIN INIT INFO
# Provides: regras.sh
# Required-Start: $local_fs $remote_fs $network $syslog
# Required-Stop: $local_fs $remote_fs $network $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start regras.sh at boot time
# Description: Enable service provided by regras.sh
### END INIT INFO


# chkconfig: 345 99 10
# description: regras

start(){


modprobe ip_nat_ftp
modprobe ip_tables
modprobe iptable_nat
modprobe ip_conntrack_ftp
modprobe ip_conntrack

#Removendo regras
iptables -F
iptables -X
iptables -F INPUT
iptables -F OUTPUT
iptables -F POSTROUTING -t nat
iptables -F PREROUTING -t nat

WAN="eth0"


#Redirecionando a porta 80 para 3128 do Squid

iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128


#Mascaramento
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

#Redirecionamento de pacotes
echo 1 > /proc/sys/net/ipv4/ip_forward


#Liberando portas
iptables -A INPUT -p tcp --destination-port 8080 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 80 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 2022 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 137 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 138 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 139 -j ACCEPT

iptables -A INPUT -p tcp --destination-port 7070 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 1755 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 554 -j ACCEPT

iptables -A INPUT -p tcp --destination-port 443 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 1935 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 3128 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 22 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 1080 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 11111 -j ACCEPT

#Permitindo que os pacotes passem pelo Firewall
iptables -t filter -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t filter -A FORWARD -s 10.10.10.0/24 -o eth0 -j ACCEPT
iptables -t filter -A FORWARD -s 10.10.11.0/24 -o eth0 -j ACCEPT

#Bloqueando
#Protecao contra port scanners ocultos
#iptables -A INPUT -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT

#Bloqueando Tracertroute
iptables -A INPUT -p udp -s 0/0 -i eth0 --dport 33435:33525 -j DROP

#Proteção contra ataques
#iptables -A INPUT -m state --state INVALID -j DROP

#iptables -t filter -A FORWARD -j REJECT

}

case "$1" in

"start") start ;;
*)

echo
echo "use start"

;;
esac


------------------

Lembrando:

Quero que uma máquina rede 10 que entra pela eth1 saia pela eth2 e não pela eth0, como é o normal.





6. Re: Redirecionamento de interface

Joel
simberg

(usa Debian)

Enviado em 14/01/2014 - 14:02h

Eu tinha colocado a interface eth2 nas regras do iptables, mas tirei as linhas por não ter dado certo.

Quanto ao squid, não o cheguei a alterar nada.



7. Re: Redirecionamento de interface

Carlos Alberto de Souza Barbosa
souzacarlos

(usa Outra)

Enviado em 14/01/2014 - 14:16h

Ok mas nesse momento como o link WAN2 tá agregado a tua rede, tenta explicar como ele tá entrando na tua rede. Melhor Caso um user da tua rede quisesse sair por ele qual seria o caminho? Ele tá ligado direto no SW, Router ou algo assim?

simberg escreveu:

Eu tinha colocado a interface eth2 nas regras do iptables, mas tirei as linhas por não ter dado certo.

Quanto ao squid, não o cheguei a alterar nada.





8. Re: Redirecionamento de interface

Joel
simberg

(usa Debian)

Enviado em 14/01/2014 - 15:04h


É uma interface de rede normal eth2, com IP válido. Está OK, posso pingar normalmente. Igual a eth0. Considere uma máquina com três placas de rede e essa está ligada ao Switch.


9. Re: Redirecionamento de interface

Buckminster
Buckminster

(usa Debian)

Enviado em 14/01/2014 - 15:23h

Coloque essa regra na posição abaixo:

iptables -t nat -A POSTROUTING -s 10.10.10.X -o eth1 -p tcp -m multiport --dport 80,443 -j DNAT --to ip_da_interface_eth2

#Mascaramento
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Reinicie o Iptables e teste.


10. Re: Redirecionamento de interface

Joel
simberg

(usa Debian)

Enviado em 15/01/2014 - 09:58h

Buckminster
Coloque essa regra na posição abaixo:

iptables -t nat -A POSTROUTING -s 10.10.10.X -o eth1 -p tcp -m multiport --dport 80,443 -j DNAT --to ip_da_interface_eth2

#Mascaramento
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Reinicie o Iptables e teste.

--------------

Caro Buckminster,

Obrigado pela força. Porém DNAT não pode ser usada com POSTROUTING, apenas com PREROUTING E OUTPUT.

Tentei fazendo de várias formas diferentes e não funcionou, sempre sai pela interface eth0. Como sei? Indo em sites que dizem qual é seu IP. Sempre me mostram o IP da interface eth0.

Esse ip da interface do DNAT teria de ser da máquina destino, não adianta ser do IP da interface de saída.




11. Re: Redirecionamento de interface

Perfil removido
removido

(usa Nenhuma)

Enviado em 15/01/2014 - 10:10h

Na minha infra eu usei da seguinte forma:

iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j SNAT --to 201.x.x.x

Sinceramente eu só consegui fazer com ip estático. Se sua conexão externa é dinâmica, teria que criar um script para pegar o ip usado no momento e inserir na regra. Falando até onde eu sei. Mas quando precisei usar ip dinâmico, eu coloquei um roteador na frente e usei o ip fixo do roteador na regra, foi uma gambiarra que deu certo.


12. Re: Redirecionamento de interface

Joel
simberg

(usa Debian)

Enviado em 15/01/2014 - 10:42h

m1n3ro
(usa Debian)

Na minha infra eu usei da seguinte forma:

iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j SNAT --to 201.x.x.x

Sinceramente eu só consegui fazer com ip estático. Se sua conexão externa é dinâmica, teria que criar um script para pegar o ip usado no momento e inserir na regra. Falando até onde eu sei. Mas quando precisei usar ip dinâmico, eu coloquei um roteador na frente e usei o ip fixo do roteador na regra, foi uma gambiarra que deu certo.

------------------------

Caro m1n3ro

Obrigado pela força.

O ip de saída e interno são estáticos.

o seu eth0 é a interface de saída?

o IP 201 é da interface de saída ou da máquina destino?




01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts