У меня проблемы с фильтрацией трафика между двумя хостами и межсетевым экраном между ними. Каждый из этих трех хостов имеет только один сетевой адаптер, с которым они могут общаться в сети, скажем, 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

0