У меня проблемы с фильтрацией трафика между двумя хостами и межсетевым экраном между ними. Каждый из этих трех хостов имеет только один сетевой адаптер, с которым они могут общаться в сети, скажем, 10.10.0.0/16. Я хотел бы добавить еще одну сеть, но у меня есть ограничение, которое не позволяет мне добавлять другой сетевой адаптер.
Моя идея заключалась в том, чтобы работать с IP-псевдонимами. Поэтому для достижения этого я настроил каждый сетевой адаптер каждого хоста так, чтобы он имел несколько адресов:
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
Поскольку картинки часто говорят лучше слов, у меня есть такие:
HOST0 ROUTER HOST1
| | |
------------------------------------------------
10.10.0.1 10.10.0.2 10.10.0.3
И я хотел бы смоделировать это (только с одним NIC):
HOST0--------------------ROUTER------------------HOST1
192.168.0.1 0.254 1.254 1.1
Я настроил каждый хост с помощью команды ip
:
ip add dev eth0 192.168.0.*
затем добавьте маршрут с помощью ip route.
Моя проблема заключается в том, что эхо-запрос от host0 до host1 проходит хорошо, даже если я отбрасываю каждый пакет на router
с помощью iptables
что указывает на то, что пинг может не проходить через маршрутизатор, но вместо этого предпочитает идти напрямую.
Я взял трассировку tcpdump, которая показывает пинг host0, идущий прямо к host1.
У меня такое чувство, что так не должно быть, но я не могу этого понять.
Вот трассировка 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