Fedora 25工作站:打开firewalld,不能ssh进入

我最近在我的一台电脑上安装了Fedora 25(Workstation)。 这是我第一次使用RH风格的发行版 – 我以前只使用基于Debian的系统,在这些系统上我使用ufw来configuration防火墙。 我完全无法解释为什么我不能让firewalld工作。

我试图只允许访问以下端口的传入连接:22 / tcp(SSH),3306 / tcp(mysql)

我将默认区域设置为公共,并手动将我的networking接口设置为公共区域。 我将SSH和mysql服务添加到公共区域,这应该会影响运行时防火墙中的更改,但是没有运气。 我的电脑拒绝所有尝试build立SSH连接。 我的ip的nmap显示如下:

Nmap scan report for 192.168.1.241 Host is up (0.000014s latency). Not shown: 998 closed ports PORT STATE SERVICE 111/tcp open rpcbind 3306/tcp open mysql 

我试图对运行时防火墙进行更改,并试图使设置永久。 没有人在开放端口上做出任何改变。 不pipe我做什么(包括删除mysql作为一个允许的服务),没有任何改变nmap扫描的输出。 (是的,我正在重新启动firewalld进行永久性更改后)。

据我所知,firewalld只是一个类似于ufw的iptables包装,但是我从来没有遇到ufwconfiguration防火墙的问题。 这让我无所适从。 我感谢您可以提供的任何帮助。 谢谢。

从一些命令输出来显示我的设置:

 $ firewall-cmd --get-default-zone public $ firewall-cmd --get-zone-of-interface=enp0s25 public $ cat /etc/firewalld/zones/public.xml <?xml version="1.0" encoding="utf-8"?> <zone> <short>Public</short> <description>For use in public areas. You do not trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.</description> <service name="ssh"/> <service name="mysql" /> </zone> $ cat /usr/lib/firewalld/services/ssh.xml <?xml version="1.0" encoding="utf-8"?> <service> <short>SSH</short> <description>Secure Shell (SSH) is a protocol for logging into and executing commands on remote machines. It provides secure encrypted communications. If you plan on accessing your machine remotely via SSH over a firewalled interface, enable this option. You need the openssh-server package installed for this option to be useful.</description> <port protocol="tcp" port="22"/> </service> $ cat /usr/lib/firewalld/services/mysql.xml <?xml version="1.0" encoding="utf-8"?> <service> <short>MySQL</short> <description>MySQL Database Server</description> <port protocol="tcp" port="3306"/> </service> $ cat /etc/sysconfig/network-scripts/ifcfg-enp0s25 HWADDR=<removed> TYPE=Ethernet BOOTPROTO=none DEFROUTE=yes BROADCAST=192.168.1.255 NETWORK=192.168.1.0 DNS1=8.8.8.8 DNS2=8.8.4.4 IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_FAILURE_FATAL=no IPV6_ADDR_GEN_MODE=stable-privacy NAME=enp0s25 UUID=<removed> ONBOOT=yes AUTOCONNECT_PRIORITY=-999 ZONE=public IPADDR=192.168.1.241 PREFIX=24 GATEWAY=192.168.1.1 IPV6_PEERDNS=yes IPV6_PEERROUTES=yes $ iptables -S -P INPUT ACCEPT -P FORWARD ACCEPT -P OUTPUT ACCEPT -N FORWARD_IN_ZONES -N FORWARD_IN_ZONES_SOURCE -N FORWARD_OUT_ZONES -N FORWARD_OUT_ZONES_SOURCE -N FORWARD_direct -N FWDI_public -N FWDI_public_allow -N FWDI_public_deny -N FWDI_public_log -N FWDO_public -N FWDO_public_allow -N FWDO_public_deny -N FWDO_public_log -N INPUT_ZONES -N INPUT_ZONES_SOURCE -N INPUT_direct -N IN_public -N IN_public_allow -N IN_public_deny -N IN_public_log -N OUTPUT_direct -A INPUT -i virbr0 -p udp -m udp --dport 53 -j ACCEPT -A INPUT -i virbr0 -p tcp -m tcp --dport 53 -j ACCEPT -A INPUT -i virbr0 -p udp -m udp --dport 67 -j ACCEPT -A INPUT -i virbr0 -p tcp -m tcp --dport 67 -j ACCEPT -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT -A INPUT -i lo -j ACCEPT -A INPUT -j INPUT_direct -A INPUT -j INPUT_ZONES_SOURCE -A INPUT -j INPUT_ZONES -A INPUT -m conntrack --ctstate INVALID -j DROP -A INPUT -j REJECT --reject-with icmp-host-prohibited -A FORWARD -d 192.168.122.0/24 -o virbr0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT -A FORWARD -s 192.168.122.0/24 -i virbr0 -j ACCEPT -A FORWARD -i virbr0 -o virbr0 -j ACCEPT -A FORWARD -o virbr0 -j REJECT --reject-with icmp-port-unreachable -A FORWARD -i virbr0 -j REJECT --reject-with icmp-port-unreachable -A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT -A FORWARD -i lo -j ACCEPT -A FORWARD -j FORWARD_direct -A FORWARD -j FORWARD_IN_ZONES_SOURCE -A FORWARD -j FORWARD_IN_ZONES -A FORWARD -j FORWARD_OUT_ZONES_SOURCE -A FORWARD -j FORWARD_OUT_ZONES -A FORWARD -m conntrack --ctstate INVALID -j DROP -A FORWARD -j REJECT --reject-with icmp-host-prohibited -A OUTPUT -o virbr0 -p udp -m udp --dport 68 -j ACCEPT -A OUTPUT -j OUTPUT_direct -A FORWARD_IN_ZONES -i enp0s25 -g FWDI_public -A FORWARD_IN_ZONES -g FWDI_public -A FORWARD_OUT_ZONES -o enp0s25 -g FWDO_public -A FORWARD_OUT_ZONES -g FWDO_public -A FWDI_public -j FWDI_public_log -A FWDI_public -j FWDI_public_deny -A FWDI_public -j FWDI_public_allow -A FWDI_public -p icmp -j ACCEPT -A FWDO_public -j FWDO_public_log -A FWDO_public -j FWDO_public_deny -A FWDO_public -j FWDO_public_allow -A INPUT_ZONES -i enp0s25 -g IN_public -A INPUT_ZONES -g IN_public -A IN_public -j IN_public_log -A IN_public -j IN_public_deny -A IN_public -j IN_public_allow -A IN_public -p icmp -j ACCEPT -A IN_public_allow -p tcp -m tcp --dport 22 -m conntrack --ctstate NEW -j ACCEPT -A IN_public_allow -p tcp -m tcp --dport 3306 -m conntrack --ctstate NEW -j ACCEPT 

你的防火墙看起来很好,并不是一个问题。

你无法进​​入你的工作站的原因是Fedora Workstation安装时默认禁用了ssh守护进程。 (这与服务器,云和primefaces,都启用了ssh相反。)

要解决这个问题,你需要安装并显式启用ssh守护进程。

 dnf -y install openssh-server systemctl enable sshd systemctl start sshd