示例:

主机IP:192.168.0.15
主机网卡:enp2s0
虚拟机IP:192.168.32.128
虚拟机网卡:vmnet8

主要操作

# 1. 开启内核转发
sudo sysctl -w net.ipv4.ip_forward=1
sudo sed -i '/^#*net.ipv4.ip_forward=/d' /etc/sysctl.conf
echo "net.ipv4.ip_forward=1" | sudo tee -a /etc/sysctl.conf

# 2. 清除旧规则(可选)
sudo iptables -F
sudo iptables -t nat -F

# 3. 允许两网段互相转发
sudo iptables -A FORWARD -i enp2s0 -o vmnet8 -j ACCEPT
sudo iptables -A FORWARD -i vmnet8 -o enp2s0 -j ACCEPT

# 4. 添加 SNAT(关键部分)
#   让来自 192.168.0.0/24 的包,在发往 192.168.32.0/24 时伪装成 192.168.32.1
sudo iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -d 192.168.32.0/24 -j SNAT --to-source 192.168.32.1

# 5. 保存规则(根据系统不同选择一个)
sudo apt install -y iptables-persistent
sudo netfilter-persistent save

其他操作

监听网卡IP数据进出

sudo tcpdump -i enp2s0 host 192.168.32.128
sudo tcpdump -i vmnet8 host 192.168.32.128

清理主机ARP和路由缓存

sudo ip route flush cache
sudo ip neigh flush all

标签: none

评论已关闭