如何阻止虚拟机上除主机 IP 之外的所有流量?

如何阻止虚拟机上除主机 IP 之外的所有流量?

我正在运行 Vagrant VM,并尝试使用网络隔离模式。由于禁用或更改默认 NAT 接口的任何内容都会破坏 Vagrant,因此我决定阻止 CentOS 7 VM 内除主机 IP 之外的所有流量。

我们将 1.1.1.1 设为主机的 IP

这是我在 Guest CentOS 7 VM 中尝试的命令:

sudo firewall-cmd --permanent --direct --add-rule ipv4 filter INPUT 0 -s 1.1.1.1 -j ACCEPT && \
sudo firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT 0 -d 1.1.1.1 -j ACCEPT && \
sudo firewall-cmd --permanent --direct --add-rule ipv4 filter INPUT 1 -j DROP && \
sudo firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT 1 -j DROP && \
sudo firewall-cmd --reload

通过这个,我能够从客户机 ping 通主机,但无法从主机 ping 通客户机。

我做错了什么?基本上,我只需要对虚拟机和主机有 SSH、TCP 和 UDP 访问权限。

答案1

看起来@djdomi 的答案对我有用。

我在虚拟机中使用以下命令删除了网关

sudo ip route del 0/0

网络已断开。不过,我能够使用 SSHvagrant ssh

最初,我尝试使用 nmap 扫描虚拟机时遇到了问题,但我使用的是 private_network 的静态 IP,这不起作用。使用 Vagrant 的 NAT IP,我能够从主机 ping 到虚拟机以及 nmap 扫描。

相关内容