IPTables игнорирует правило для перенаправления веб-трафика

377
user21303

Я пытаюсь сделать что-то очень простое. Я пытаюсь заставить все веб-запросы перейти на мой локальный веб-сервер. Я начинаю с активации указанного веб-сервера на моей машине Kali Linux VirtualBox

sudo systemctl start apache2 

Затем я перенаправляю весь веб-трафик с помощью iptables.

sudo iptables -t nat -A PREROUTING -p tcp --dport 443 -j DNAT --to-destination 127.0.0.1:80  sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 127.0.0.1:80 

Убедитесь, что изменения вступили в силу

sudo iptables -t nat -L 

Они сделали

Chain PREROUTING (policy ACCEPT) target prot opt source destination  DNAT tcp -- anywhere anywhere tcp dpt:https to:127.0.0.1:80 

Теперь, когда я захожу на google.com или даже example.com, я просто захожу на google.com, как обычно. Как я могу заставить изменения вступить в силу?

-1

1 ответ на вопрос

0
Ipor Sircer

Когда вы заходите на google.com, ваш пакет никогда не посещает цепочку PREROUTING. Вместо этого используйте OUTPUT.enter image description here

Я попробовал ваше предложение. sudo iptables -t nat -A ВЫХОД -p tcp --dport 443 -j DNAT - к месту назначения 127.0.0.1:80 sudo iptables -t nat -A ВЫХОД -p tcp --dport 80 -j DNAT - к- пункт назначения 127.0.0.1:80. Но после выполнения sudo iptables -L похоже, что команда вывода не добавляется. Что я сделал не так? user21303 5 лет назад 0
Подожди, неважно. Работает. user21303 5 лет назад 0
Я получаю сообщение об ошибке, в котором говорится, что этот сайт не может обеспечить безопасное соединение. Я полагаю, я не должен удивляться при рассмотрении HTTPS. Возникает вопрос: как кафе перенаправляют пользователей на страницу с условиями обслуживания, с которой люди должны согласиться, прежде чем они начнут пользоваться Интернетом? user21303 5 лет назад 0