Как перенаправить порт на firewalld на порт, прослушивающий локальный хост?

Я хотел бы задать вопрос относительно правила прямого порта для firewalld .

OS, которую я использую,

CentOS Linux release 7.3.1611 (Core)

My Goal

Перенаправлять запросы к httpd, прослушивающему 127.0.0.1:80

[root@development /]# netstat -atunp | grep httpd
tcp        0      0 127.0.0.1:80            0.0.0.0:*               LISTEN      2601/httpd          

Проблема

Я установил правило firewalld, как показано ниже. 12194] Однако, если я отправляю запрос с внешнего хоста, firewalld отклоняет запрос на порт 8080.

В этом случае

192.168.11.2 (клиент) -------> 192.168 .11.13 (8080)

[root@dellinspiron13z asset]# curl -XGET 192.168.11.13:8080
curl: (7) Failed to connect to 192.168.11.13 port 8080: Connection refused

Если процесс работает как 0.0.0.0:80 , он работает отлично.

Есть ли способ перенаправить запросы на порт localhost?

0
задан 23 July 2017 в 14:31
2 ответа

Вам нужно изменить route_localnet в sysctl на интерфейсе с адресом 92.168.11.13 или на «все», если вы ленивы

По счастливому совпадению у меня есть свежая CentOS той же версии, поэтому по умолчанию это ручка отключена

[root@tesla ~]# cat /etc/centos-release
CentOS Linux release 7.3.1611 (Core) 
[root@tesla ~]# sysctl -a | grep route_localnet
net.ipv4.conf.all.route_localnet = 0
net.ipv4.conf.default.route_localnet = 0
net.ipv4.conf.enp0s5.route_localnet = 0
net.ipv4.conf.lo.route_localnet = 0
0
ответ дан 4 December 2019 в 16:11

Вот как это делается:

firewall-cmd --permanent --direct --add-rule ipv4 nat OUTPUT 0 -p tcp -o lo --dport 8080 -j REDIRECT --to-ports 80

1
ответ дан 4 December 2019 в 16:11

Теги

Похожие вопросы