升级到 Fedora 19 后无法路由到主机

升级到 Fedora 19 后无法路由到主机

我最近将系统从 Fedora 17 升级到 19。现在,我无法连接到任何服务除了 ssh 之外(也许其他一些可能可用但不确定)就可以了。早些时候这不是问题。我尝试禁用任何防火墙:

$ sudo service iptables stop
Redirecting to /bin/systemctl stop  iptables.service
$ sudo /etc/init.d/ebtables stop
Stopping ebtables (via systemctl):                         [  OK  ]

还尝试nc在任意端口:

$ nc -l 28000

并尝试从另一台主机连接:

$ nc myhost 28000
Ncat: No route to host.

有任何想法吗?我正在该主机上使用 KVM 来通过桥接网络支持 Linux 来宾(请注意,我正在尝试对物理主机而不是来宾进行故障排除),如果这有帮助的话。另外,这里是 的输出chkconfig

Note: This output shows SysV services only and does not include native
      systemd services. SysV configuration data might be overridden by native
      systemd configuration.

      If you want to list systemd services use 'systemctl list-unit-files'.
      To see services enabled on particular target use
      'systemctl list-dependencies [target]'.

btseed          0:off   1:off   2:off   3:off   4:off   5:off   6:off
bttrack         0:off   1:off   2:off   3:off   4:off   5:off   6:off
ceph            0:off   1:off   2:off   3:off   4:off   5:off   6:off
dkms_autoinstaller      0:off   1:off   2:on    3:on    4:on    5:on    6:off
ebtables        0:off   1:off   2:off   3:off   4:off   5:off   6:off
jexec           0:on    1:on    2:on    3:on    4:on    5:on    6:on
livesys         0:off   1:off   2:off   3:on    4:on    5:on    6:off
livesys-late    0:off   1:off   2:off   3:on    4:on    5:on    6:off
netconsole      0:off   1:off   2:off   3:off   4:off   5:off   6:off
network         0:off   1:off   2:on    3:on    4:on    5:on    6:off
vboxballoonctrl-service 0:off   1:off   2:off   3:off   4:off   5:off   6:off
vboxdrv         0:off   1:off   2:off   3:off   4:off   5:off   6:off
vboxweb-service 0:off   1:off   2:off   3:off   4:off   5:off   6:off

答案1

TL;博士;

问题出在firewalld,禁用它解决了 OP 的问题。下面列出了当您遇到此类问题时可以尝试的操作(对于其他人)。

1. 网络?

KVM guest 是否使用桥接网络?

您的 KVM 来宾可能有一个未与主机的桥接设备关联的 NIC,因此无法从来宾上运行的网络访问服务。

2.SELinux?

您可以暂时禁用它,看看它是否会给您带来问题。

$ sudo setenforce 0

$ getenforce 
Disabled

3. 防火墙(静态规则)?

暂时禁用它。

$ sudo service iptables stop

$ sudo iptables -L

Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         

4.防火墙(动态规则)?

在较新版本的 Fedora 中,现在包含了一项新服务,称为firewalld。您可以尝试禁用它。

$ sudo service firewalld stop

摘自维基

firewalld 提供动态管理的防火墙,支持网络/防火墙区域来定义网络连接或接口的信任级别。它支持 IPv4、IPv6 防火墙设置和以太网桥,并且分离了运行时和永久配置选项。它还支持服务或应用程序直接添加防火墙规则的接口。

以前带有 system-config-firewall/lokkit 的防火墙模型是静态的,每次更改都需要完全重新启动防火墙。这还包括卸载防火墙 netfilter 内核模块以及加载新配置所需的模块。模块的卸载破坏了状态防火墙和已建立的连接。

另一方面,防火墙守护程序动态管理防火墙并应用更改,而无需重新启动整个防火墙。因此无需重新加载所有防火墙内核模块。但是使用防火墙守护程序需要使用该守护程序完成所有防火墙修改,以确保守护程序中的状态和内核中的防火墙保持同步。防火墙守护程序无法解析 ip*tables 和 ebtables 命令行工具添加的防火墙规则。

该守护进程通过 D-BUS 提供有关当前活动防火墙设置的信息,并使用 PolicyKit 身份验证方法通过 D-BUS 接受更改。

答案2

这确实是一个防火墙问题(这可能是问题,因为 ssh 始终工作)。虽然iptables被禁用,但 Fedora 现在也随之而来,firewalld这也必须被禁用。

$ sudo service firewalld stop

firewalld自 Fedora 18 起成为默认设置,升级更改了一些防火墙设置,需要修复。

答案3

我的问题是通过命令解决的。

$ sudo service firewalld stop

最好检查以下“无主机路由”问题。

  1. 服务 iptables 状态
  2. 服务防火墙状态
  3. 获得力量

1 和 2 应停止或添加所需的辊。

3是查看selinux状态

相关内容