Я использую CentOS 7 на моем сервере. У меня есть приложение, которое принимает соединения только с локального хоста. Проблема с firewalld в том, что он меняет локальное соединение на использование внешнего адреса в качестве исходного соединения. Это заставляет приложение отклонять соединение, поскольку оно не локальное.
Прослушивание порта 4444 на локальном хосте.
$ nc 127.0.0.1 -l 4444 -v
Ncat: Version 6.40 ( http://nmap.org/ncat )
Ncat: Listening on 127.0.0.1:4444
Установите соединение с localhost
$ nc 127.0.0.1 4444
hello
Прослушивание экземпляров nc
Ncat: Connection from external_address.
Ncat: Connection from external_address:45274.
hello
Вот конфигурация firewalld для доверенной зоны, где
$ firewall-cmd --zone=trusted --list-all
trusted (active)
interfaces: lo
sources:
services:
ports:
masquerade: no
forward-ports:
icmp-blocks:
rich rules:
Это предполагаемое поведение или ошибка? Есть ли простое решение, как это можно исправить?
РЕДАКТИРОВАТЬ:
Настройка IP-адреса
$ ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:25:90:7d:8a:96 brd ff:ff:ff:ff:ff:ff
inet 173.234.39.178/29 brd 173.234.39.183 scope global enp2s0
valid_lft forever preferred_lft forever
inet 173.234.39.179/16 brd 173.234.255.255 scope global enp2s0
valid_lft forever preferred_lft forever
inet 173.234.39.180/16 brd 173.234.255.255 scope global secondary enp2s0
valid_lft forever preferred_lft forever
inet6 fe80::225:90ff:fe7d:8a96/64 scope link
valid_lft forever preferred_lft forever
3: enp3s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN qlen 1000
link/ether 00:25:90:7d:8a:97 brd ff:ff:ff:ff:ff:ff
4: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 100
link/none
inet 10.2.0.1 peer 10.2.0.2/32 scope global tun0
valid_lft forever preferred_lft forever
маршрутизация
$ ip route list
default via 173.234.39.177 dev enp2s0 proto static metric 100
10.2.0.0/24 via 10.2.0.2 dev tun0
10.2.0.2 dev tun0 proto kernel scope link src 10.2.0.1
173.234.0.0/16 dev enp2s0 proto kernel scope link src 173.234.39.179 metric 100
173.234.39.176/29 dev enp2s0 proto kernel scope link src 173.234.39.178 metric 100
Конфигурация брандмауэра для доверенной зоны
$ firewall-cmd --zone=trusted --list-all
trusted (active)
interfaces: lo
sources:
services:
ports:
masquerade: no
forward-ports:
icmp-blocks:
rich rules: