Я пытаюсь перенаправить локальный порт 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
В этом случае вы будете перенаправлять запросы, сгенерированные вашим локальным компьютером и предназначенные только для вашего локального компьютера. Таким образом, удаленные подключения не пострадают.