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

Перенаправлять только входящие запросы на порт 80

Я пытаюсь перенаправить локальный порт 80 на локальный порт 9080. Обычно это работает, если я установил

iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 9080
iptables -t nat -A OUTPUT -p tcp --dport 80 -j REDIRECT --to-ports 9080

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

Как я могу указать iptables пересылать только запросы на любой из моих локальных IP-адресов?

Вам нужно изменить 2-е правило, чтобы оно читалось:

iptables -t nat -A OUTPUT -o lo -p tcp --dport 80 -j REDIRECT --to-ports 9080

В этом случае вы будете перенаправлять запросы, сгенерированные вашим локальным компьютером и предназначенные только для вашего локального компьютера. Таким образом, удаленные подключения не пострадают.