Я собираюсь быть перенаправленным к странице 192.168.1.1
Когда пользователь входит www.google.com
сайт.
Таким образом, я выполняю следующие команды на маршрутизаторе:
iptables -t nat -I PREROUTING -p tcp --dport 80 -j DNAT --to-destination 192.168.1.1:80
iptables -t nat -I PREROUTING -p tcp --dport 443 -j DNAT --to-destination 192.168.1.1:80
iptables -t nat -I OUTPUT -p tcp --dport 80 -j DNAT --to-destination 192.168.1.1:80
iptables -t nat -I OUTPUT -p tcp --dport 443 -j DNAT --to-destination 192.168.1.1:80
Но это не работает правильно.
Когда пользователь вводит сайт Yahoo, он перенаправляется к странице 192.168.1.1
Но когда пользователь вводит сайт Google, они не перенаправляются к странице 192.168.1.1
Кроме того, когда пользователь входит connectivitycheck.gstatic.com/generate_204
сайт:
Не найденный
требуемый URL/generate_204 не был найден на этом сервере
Почему?
Эти правила iptables перенаправляют порты 80 и 443 на 192.168.1.1, то есть на ВСЕ веб-сайты. Не только google.com.
IPTables - неподходящий инструмент для этого. Вы захотите использовать прокси, такой как Squid
В качестве альтернативы, если вы просто хотите перенаправить веб-сайты на локальный компьютер, вы можете использовать файл hosts (/ etc / hosts), но это перенаправит ВСЕХ пользователей.