Linux
從一個 VLAN 訪問 WAN
我想
VLAN
為 3 個來賓虛擬機創建一個。我已經有了它,每個虛擬機都可以ping
互相使用,但問題是任何客人都無法訪問網際網路主機中的網路配置
# /etc/network/interfaces auto eth0 iface eth0 inet manual auto br0 iface br0 inet static address 188.165.x.x <------ Internet's public ip netmask 255.255.255.0 network 188.165.255.0 broadcast 188.165.255.255 gateway 188.165.y.y <------- Internet's public gateway bridge_ports eth0 bridge_fd 0 bridge_stp on auto eth0.3 iface eth0.3 inet manual mtu 1500 vlan_raw_device eth0 auto vlan3 iface vlan3 inet static bridge_ports eth0.3 bridge_maxwait 0 bridge_stp off address 172.69.0.1 netmask 255.255.255.0 network 172.69.0.0 broadcast 172.69.0.255
主機中的路由列表
route -n
Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 172.69.0.0 0.0.0.0 255.255.255.0 U 0 0 0 vlan3 188.165.255.0 0.0.0.0 255.255.255.0 U 0 0 0 br0 0.0.0.0 188.165.y.y 0.0.0.0 UG 0 0 0 br0
brctl show
主機bridge name bridge id STP enabled interfaces br0 8000.e840f20acc28 yes eth0 tap10.0 vif10.0 vif7.0 vlan3 8000.e840f20acc28 no eth0.3 log01
Ping 客人 -> 主機工作
PING 172.69.0.1 (172.69.0.1) 56(84) bytes of data. 64 bytes from 172.69.0.1: icmp_req=1 ttl=64 time=0.155 ms 64 bytes from 172.69.0.1: icmp_req=2 ttl=64 time=0.100 ms
Traceroute 到例如 Google 的 DNS ip
traceroute to 8.8.8.8 (8.8.8.8), 30 hops max, 60 byte packets 1 172.69.0.1 (172.69.0.1) 0.198 ms 0.237 ms 0.209 ms 2 * * *
如您所見,它在主機 ip(網關)中死亡。
我不知道我做錯了什麼
您需要通過將 /proc/sys/net/ipv4/ip_forward 更改為 1 來啟用 IP 轉發。
您還需要對虛擬機應用 iptables-rule 進行 NAT。(這應該在主機上應用)
iptables -t nat -A POSTROUTING -o <your external interface on the Host> -j MASQUERADE