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

Возврат через шлюз в зависимости от источника

У нас есть веб-сервер Linux, доступ к которому осуществляется через 192.168.2.1. Он имеет шлюз по умолчанию 192.168.2.2. Этот шлюз не подключается к внешнему миру.

У нас также есть публичный IP 176.35.XXX.XXX. Это связано с брандмауэром на 192.168.2.6 который затем пересылается 192.168.2.1. Проблема в том, что шлюз по умолчанию не может вернуть ответ при доступе через публичный IP.

Возможно ли сообщить веб-серверу, что трафик с 192.168.2.6 должен быть возвращен 192.168.2.6 скорее, чем 192.168.2.2?

РЕДАКТИРОВАТЬ:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
172.16.1.9      0.0.0.0         255.255.255.255 UH    0      0        0 tun0
192.168.2.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
172.16.0.0      172.16.1.9      255.255.255.0   UG    0      0        0 tun0
172.16.1.0      172.16.1.9      255.255.255.0   UG    0      0        0 tun0
169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 eth0
0.0.0.0         192.168.2.2     0.0.0.0         UG    0      0        0 eth0

РЕДАКТИРОВАТЬ2:

Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:5                                      3
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTAB                                      LISHED
ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:1                                      0000
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:2223 state                                       NEW
ACCEPT     tcp  --  192.168.2.0/24       0.0.0.0/0           tcp dpt:10000
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:80
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:53
ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0           udp dpt:53
ACCEPT     udp  --  192.168.2.0/24       0.0.0.0/0           udp dpt:137
ACCEPT     udp  --  192.168.2.0/24       0.0.0.0/0           udp dpt:138
ACCEPT     tcp  --  192.168.2.0/24       0.0.0.0/0           state NEW tcp dpt:1                                      39
ACCEPT     tcp  --  192.168.2.0/24       0.0.0.0/0           state NEW tcp dpt:4                                      45
ACCEPT     tcp  --  192.168.2.0/24       0.0.0.0/0           tcp dpt:3306
ACCEPT     tcp  --  192.168.2.0/24       0.0.0.0/0           tcp dpt:3000 state                                       NEW
ACCEPT     tcp  --  192.168.2.0/24       0.0.0.0/0           tcp dpt:3306 state                                       NEW
ACCEPT     tcp  --  172.16.0.0/16        0.0.0.0/0           tcp dpt:3306
ACCEPT     tcp  --  86.162.148.238       0.0.0.0/0           tcp dpt:3306
REJECT     all  --  0.0.0.0/0            0.0.0.0/0           reject-with icmp-ho                                      st-prohibited
DROP       all  --  198.204.250.82       0.0.0.0/0
ACCEPT     tcp  --  82.147.12.249        0.0.0.0/0           tcp dpt:3306
ACCEPT     tcp  --  82.147.12.247        0.0.0.0/0           tcp dpt:3306
ACCEPT     tcp  --  82.147.12.248        0.0.0.0/0           tcp dpt:3306
ACCEPT     tcp  --  151.231.210.146      0.0.0.0/0           tcp dpt:3306

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
REJECT     all  --  0.0.0.0/0            0.0.0.0/0           reject-with icmp-ho                                      st-prohibited

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

На первый взгляд в вашей инфраструктуре все в порядке. Все хосты находятся в одной подсети, а это значит, что ваш веб-сервер не использует шлюз для отправки трафика на 192.168.2.6.

Я думаю, вам нужно правильно настроить свой шлюз с публичным ip. Если ваш публичный шлюз является хостом Linux, вам необходимо настроить маскировку iptables ИЛИ разрешить ввод УСТАНОВЛЕННЫХ и СВЯЗАННЫХ подключений.

Если вы дадите список правил iptables на хосте 192.168.2.6, то я, возможно, смогу вам с этим помочь.