Назад | Перейти на главную страницу

Маршрутизатор Linux для 2 общедоступных подсетей с одной подсетью для бегства и одной локальной подсетью - без балансировки нагрузки;)

У меня проблема с маршрутизацией на linux.

Мой интернет-провайдер дал мне 2 диапазона публичных адресов, скажем:
192.168.11.0/30 (4 адреса) - роутер
192.168.33.0/29 (8 адресов) - серверы

дополнительно у меня на маршрутизаторе (192.168.11.2) второй интерфейс eth1, за NAT - LAN 10.0.0.0/8

Сеть 192.168.11.0/30 имеет адреса сети (192.168.11.0), бегства (192.168.11.1), хоста (192.168.11.2) и широковещательной рассылки (192.168.11.3). Сеть 192.168.33.0/29 имеет адрес сети (192.168.33.0), 6 адресов хоста (192.168.33.1-6) и широковещательный (192.168.33.7) - никакого выхода.

Хост из сети 192.168.11.0/30 - 192.168.11.2 - это своего рода мой маршрутизатор для локальной сети 10.0.0.0/8 и маршрутизирующий трафик для 192.168.33.0/29.

Трассировка от некоторого программного обеспечения в Интернете на любой адрес из сети 192.168.33.0/29 приведет к хосту 192.168.11.2 (а не к выходу 192.168.11.1).

Моя конфигурация:
На 192.168.11.2

$ route -n

Destination     Gateway         Genmask          Flags Metric Ref    Use Iface
0.0.0.0         192.168.11.1    0.0.0.0          UG    0      0        0 eth0
192.168.11.0    0.0.0.0         255.255.255.252  U     0      0        0 eth0
10.0.0.0        0.0.0.0         255.0.0.0        U     0      0        0 eth1
192.168.33.0    0.0.0.0         255.255.255.248  U     0      0        0 eth0

Например, 192.168.33.6

$ route -n

Destination     Gateway         Genmask          Flags Metric Ref    Use Iface
0.0.0.0         192.168.11.2    0.0.0.0          UG    0      0        0 eth0
192.168.11.0    0.0.0.0         255.255.255.252  U     0      0        0 eth0
192.168.33.0    0.0.0.0         255.255.255.248  U     0      0        0 eth0

На 192.168.11.2 в iptables нет записи об этом трафике, примерно так:

iptables -A FORWARD -i eth0 -o eth0 -s 192.168.33.0/29 -j ACCEPT
iptables -A FORWARD -i eth0 -o eth0 -d 192.168.33.0/29 -j ACCEPT

Интернет-провайдер говорит, что я должен маршрутизировать трафик 192.168.33.0/29 через 192.168.11.2 (хост), и это работает, но моя проблема в том, что весь трафик, который приходит, например, на 192.168.33.6, в iptables на 192.168.33.6 всегда имеет источник хост из первой сети - 192.168.11.2 (хост, который является gw для сети 192.168.33.0/29), а не исходный IP-адрес источника трафика.

Это создает проблему, потому что я хочу, чтобы на хосте, например, 192.168.33.6 в брандмауэре разрешалось только ssh из локальной сети маршрутизатора (10.0.0.1, где gw - 192.168.33.2) и Мой дом (скажем, 192.168.231.15). Наконец, весь трафик разрешен, потому что адрес источника, отображаемый iptables, 192.168.33.2 ...

Я понимаю, что могу оставить брандмауэр на 192.168.33.6 пустым и фильтровать трафик на маршрутизаторе 192.168.11.2, но по нескольким причинам я не могу сделать это таким образом.