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

перенаправление портов iptables в Ubuntu

У меня есть сервер apache, работающий на 8100. При открытии http: // локальный: 8100 в браузере мы увидим, что сайт работает правильно.

Теперь я хотел бы направить все запросы с 80 на 8100, чтобы доступ к сайту можно было получить без номера порта. Я не знаком с iptables, поэтому искал решения в Интернете. Это один из методов, которые я пробовал:

user@ubuntu:~$ sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
user@ubuntu:~$ sudo iptables -A INPUT -p tcp --dport 8100 -j ACCEPT
user@ubuntu:~$ sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8100

Это не работает. Сайт работает на 8100, но не на 80. Если распечатать правила с помощью "iptables -t nat -L -n -v", я вижу следующее:

user@ubuntu:~$ sudo iptables -t nat -L -n -v
Chain PREROUTING (policy ACCEPT 14 packets, 2142 bytes)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 REDIRECT   tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           
tcp dpt:80 redir ports 8100 

Chain INPUT (policy ACCEPT 14 packets, 2142 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 177 packets, 13171 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain POSTROUTING (policy ACCEPT 177 packets, 13171 bytes)
 pkts bytes target     prot opt in     out     source               destination 

ОС - это Ubuntu на платформе VMware. Я думал, что это должна быть простая задача, но я безуспешно работал над ней часами. :( Что мне не хватает?

Попробуйте: sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to 127.0.0.1:8100

Цепочка «PREROUTING» применяется только к трафику, полученному из сети. Если вы хотите перенаправить локально сгенерированный трафик, вам необходимо использовать цепочку «OUTPUT».

Вероятно, вам также понадобятся совпадения по IP-адресу назначения.

Я бы пошел с

sudo iptables -t nat -A OUTPUT -p tcp --dport 80 -j REDIRECT --to-ports 8100