我正在运行 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 扫描。