使用命令 iptables 进行的更改未反映在命令 netstat 的输出中

使用命令 iptables 进行的更改未反映在命令 netstat 的输出中

场景:虚拟机UU(Ubuntu 的缩写)正在提供网页服务。该网页可在运行COVirtual Box 的(CentOS 的缩写)上访问。UU然而,该网页无法在 LAN 的其余部分访问。从 LAN 上随机选择的一台机器上,我能够 ping 通CO但无法 pinb UU。从CO我可以ping通UU

在参考了网上的一些资源后,我想我知道了问题所在(尽管请随时纠正我)。评论的输出netstat -lntu参考: 获取开放端口列表) 上UU包括以下行:

tcp6    0     0 :::80       :::*     LISTEN

但当在 上运行相同的命令时,输出中不包含此类行CO。因此我决定port 80打开CO

要添加port 80我尝试了以下操作CO

sudo iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT<br>
sudo iptables save

一切顺利。重新运行后netstat -lntu输出仍然没有说已port 80打开?正确的打开方式是什么port 80?如果上述方式正确,如何验证该命令是否有效?

答案1

如果您可以UUCOLAN 上的另一台计算机访问网页,但不能从 LAN 上的另一台计算机访问网页,则意味着您的UU虚拟机可能处于 NAT 模式。

为了使您的UU虚拟机能够从 LAN 的其余部分进行访问,您需要将虚拟机网络配置为桥接模式,

这将允许UU直接与其他节点通信,而不是用作CO中间节点。

相关内容