Sshd skonfigurowałem do życia na innym porcie. Otworzyłem ten port używając firewalld:
$ sudo firewall-cmd --zone=public --add-port=22000/tcp --permanent
Reguły wyświetlania pokazują, że port 22000 jest otwarty:
$ sudo firewall-cmd --permanent --zone=public --list-all
public (default)
interfaces:
sources:
services: dhcpv6-client ssh
ports: 22000/tcp
masquerade: no
forward-ports:
icmp-blocks:
rich rules:
Jednak nie mogę zalogować się ze zdalnego hosta do portu 22000. Jeśli używam iptables, działa:
$ sudo iptables -I INPUT -p tcp --dport 22000 -j ACCEPT
Mogę się teraz zalogować. Ale jak mogę otworzyć port w Firewalld ?
Edytuj: zgodnie z prośbą:
$ sudo firewall-cmd --get-default-zone
public
I:
$ firewall-cmd --get-active-zones
public
interfaces: eth0 eth1
public
strefa nie jest przypisana do żadnego interfejsu i dlatego nie jest skuteczna, afaik. Co to jest wyjściesudo firewall-cmd --get-default-zone
?public
.firewall-cmd --get-active-zones
z wyjaśnieniem, którym jest interfejs sieciowy, o którym mówisz.iptables
ifirewalld
, zwykle przestaje działać. To chyba wszystko, co mogę o tym powiedzieć.Odpowiedzi:
Zobacz Dokumenty firewalld :
Podczas używania
--permanent
opcję, należy ponownie załadować konfigurację przezfirewall-cmd --reload
To dlatego, że
--permanent
opcja zapisuje zmiany do zapisanej konfiguracji, a nie do uruchomionej konfiguracji.źródło
The permanent option --permanent can be used to set options permanently. These changes are not effective immediately, only after service restart/reload or system reboot. Without the --permanent option, a change will only be part of the runtime configuration.