1

Aloha,

Я пытаюсь перенаправить весь трафик на моем маршрутизаторе Wi-Fi на локальный веб-сервер, используя iptables. Я не уверен, что правильно понял команду, а также хочу исключить IP-адрес маршрутизатора (172.16.0.1) из правила, чтобы предотвратить блокирование доступа к маршрутизатору.

Что я придумала до сих пор:

iptables -t nat -A PREROUTING -i br0 -p tcp --dport 80 -j DNAT --to 172.16.0.2:80
iptables -t nat -A PREROUTING -i br0 -p tcp --dport 443 -j DNAT --to 172.16.0.2:80

Я еще не тестировал выше, так как боюсь, что из-за этого я не смогу снова получить доступ к маршрутизатору. Как исключить 172.16.0.1 из перенаправления на 172.16.0.2?

Настройка:172.16.0.2 - это IP-адрес для веб-сервера. 172.16.0.1 - это мой маршрутизатор (dd-wrt) без подключения к Интернету.

Пример того, чего я пытаюсь достичь:

  • Пользователь подключается к точке доступа Wi-Fi, пытаясь получить доступ к www.siteA.com, перенаправляется на 172.16.0.2 (/index.html)
  • Пользователь подключается к точке доступа Wi-Fi, пытаясь получить доступ к www.siteB.com, перенаправляется на 172.16.0.2 (/index.html)
  • Пользователь пытается получить доступ к 172.16.0.1, и направление не указывается :)

Хорошего дня и спасибо!

1 ответ1

0

Поскольку правила iptables обрабатываются по порядку, первое правило должно разрешать весь трафик, направляемый на маршрутизатор.

iptables -t nat -I PREROUTING -i br0 -p tcp -d 172.16.0.1--dport 80 -j ACCEPT 

Далее добавьте правила для перенаправления трафика.

iptables -t nat -A PREROUTING -d !172.16.0.1 -i br0 -p tcp --dport 80 -j DNAT --to-destination 172.16.0.2:80

Я не думаю, что это будет работать для https, так как он не подключается к серверу с ssl.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .