Tenho problemas ao filtrar tráfego com dois hosts e um firewall entre eles. Cada um desses três hosts tem apenas uma placa de rede na qual eles podem se comunicar em uma rede, digamos 10.10.0.0/16. Eu gostaria de adicionar outra rede, mas tenho uma restrição que não me permite adicionar outra placa de rede.
Minha ideia era trabalhar com o aliasing de ip. Então, para conseguir isso, configurei cada NIC de cada host para ter vários endereços assim:
host0 : eth0 = 10.10.0.1/16
192.168.0.1/24
router : eth0 = 10.10.0.2/16
192.168.0.254/24
192.168.1.254/24
host1 : eth0 = 10.10.0.3/16
192.168.1.1/24
Como as fotos geralmente falam melhor que palavras, eu tenho isso:
HOST0 ROUTER HOST1
| | |
------------------------------------------------
10.10.0.1 10.10.0.2 10.10.0.3
E eu gostaria de simular isso (com apenas um NIC):
HOST0--------------------ROUTER------------------HOST1
192.168.0.1 0.254 1.254 1.1
Eu configurei cada host com o comando ip
:
ip add dev eth0 192.168.0.*
adicione a rota com o ip route.
Meu problema é que um ping de host0 para host1 está indo bem mesmo se eu derrubar todos os pacotes em router
com iptables
, o que indica que o ping pode não passar pelo roteador, mas prefere ir diretamente.
Eu peguei um tcpdump trace que mostra o ping do host0 indo direto para o host1.
Tenho a sensação de que não deveria funcionar assim, mas não consigo entender.
Aqui o traço tcpdump:
52:54:00:00:00:00 > 52:54:00:00:00:02, IPv4, length 98: 192.168.0.1 > 192.168.1.1: ICMP echo request, id 4309, seq 3, length 64
52:54:00:00:00:02 > 52:54:00:00:00:00, IPv4, length 98: 192.168.1.1 > 192.168.0.1: ICMP echo reply, id 4309, seq 3, length 64
52:54:00:00:00:00 > 52:54:00:00:00:02, IPv4, length 98: 192.168.0.1 > 192.168.1.1: ICMP echo request, id 4309, seq 4, length 64
52:54:00:00:00:02 > 52:54:00:00:00:00, IPv4, length 98: 192.168.1.1 > 192.168.0.1: ICMP echo reply, id 4309, seq 4, length 64
52:54:00:00:00:00 > 52:54:00:00:00:02, IPv4, length 98: 192.168.0.1 > 192.168.1.1: ICMP echo request, id 4309, seq 5, length 64
52:54:00:00:00:02 > 52:54:00:00:00:00, IPv4, length 98: 192.168.1.1 > 192.168.0.1: ICMP echo reply, id 4309, seq 5, length 64
Tags networking iptables linux