Все входящие соединения используют IP моего основного маршрутизатора (настройка из 2 маршрутизаторов)

Все входящие соединения используют IP моего основного маршрутизатора (настройка из 2 маршрутизаторов)

Я использую конфигурацию из двух маршрутизаторов со следующим оборудованием:

Netgear WNDR3400V2 - 192.168.1.1 - DD-WRT

Belkin F9K1105 v1 - 192.168.1.50 - стоковая прошивка

Belkin настроен как коммутатор, к которому подключен веб-сервер.

[Интернет] -> Netgear -> Belkin -> Сервер

При внутреннем подключении он регистрирует мой IP соответствующим образом (например, 192.168.1.51) При подключениивнешне, все IP-адреса отображаются как 192.168.1.1 (IP-адрес основного маршрутизатора)

Конечно, это прекрасно работает, если нет второго маршрутизатора, но, к сожалению, моя текущая настройка не является необходимой.

Мне было интересно, могу ли я получить какие-то конкретные инструкции о том, как правильно «видеть» внешние IP-адреса с сервера.

Заранее спасибо!

решение1

Похоже, проблема в правилах iptables по умолчанию, которые устанавливает DD-WRT.

Удаление строки MASQUERADE в POSTROUTING решило проблему: внешние подключения больше не отображаются как внутренний IP-адрес моего основного маршрутизатора.

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination         
MASQUERADE  0    --  anywhere             anywhere            
SNAT       0    --  192.168.1.0/24       anywhere            to:1.1.1.1 
RETURN     0    --  anywhere             anywhere            PKTTYPE = broadcast

Это удалит первый элемент в списке выше:

iptables -t nat -D POSTROUTING 1

Более подробную информацию об исправлении выше можно найти здесь:https://www.reddit.com/r/HomeNetworking/comments/40swj2/firewall_log_shows_router_ip_for_all_incoming/cyxaz3t/

Теперь все должно работать нормально.

Примечание: если вы больше не можете получить доступ к своим сервисам через внешний IP-адрес с внутреннего IP-адреса, вам может потребоваться выполнить одно или оба из следующих действий (мне потребовалось оба):

  1. Обязательно снимите флажок «Фильтровать перенаправление WAN NAT» в «DD-WRT -> Безопасность -> Брандмауэр».

  2. Выполните следующее:

iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -d 192.168.1.0/24 -j MASQUERADE

Замените оба вхождения 192.168.1.0/24 на то, что соответствует вашей настройке.

Чтобы упростить задачу, я рекомендую просто сохранить это в скрипте брандмауэра в разделе «Администрирование -> Команды».

iptables -t nat -D POSTROUTING 1
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -d 192.168.1.0/24 -j MASQUERADE

Связанный контент