初始情况
我需要在两个在主机专用网络中工作的 VMWare 映像之间共享互联网,其中一个主机作为服务器,另一个主机作为客户端。
我正在使用 VMWare Workstation,有两种虚拟网络:
- VMnet4:
- 类型:仅限主机
- 子网 IP:192.168.237.0/24
- VMnet8:
- 类型:NAT
- 子网 IP:192.168.56.0/24
- 网关 IP:192.168.56.1
- VMNet8 网络环境中 PC 的 IP 是 192.168.56.5
通过这样的虚拟网络,我拥有两台具有以下配置的主机:
1.KaliLinux 2019.3:
IP 地址
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:b5:bd:69 brd ff:ff:ff:ff:ff:ff
inet 192.168.56.10/24 brd 192.168.56.255 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:feb5:bd69/64 scope link
valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:b5:bd:73 brd ff:ff:ff:ff:ff:ff
inet 192.168.237.1/24 brd 192.168.237.255 scope global eth1
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:feb5:bd73/64 scope link
valid_lft forever preferred_lft forever
路由
default via 192.168.56.1 dev eth0 onlink
192.168.56.0/24 dev eth0 proto kernel scope link src 192.168.56.10
192.168.237.0/24 dev eth1 proto kernel scope link src 192.168.237.1
iptables 规则
#!/bin/bash
outer_interface=eth0
inner_interface=eth1
inner_subnet=192.168.237.0/24
internet_ip=192.168.56.10
sudo iptables -F
sudo iptables -t nat -F
sudo iptables -t mangle -F
sudo iptables -X
sudo iptables -A FORWARD -i $inner_interface -o $outer_interface -s $inner_subnet -j ACCEPT
sudo iptables -A FORWARD -i $outer_interface -o $inner_interface -d $inner_subnet -j ACCEPT
sudo iptables -P FORWARD DROP
sudo iptables -t nat -A POSTROUTING -s $inner_subnet -o $outer_interface -j SNAT --to-source $internet_ip
echo 1 > /proc/sys/net/ipv4/ip_forward
2. Ubuntu Desktop 18.04 - 作为客户端
IP 地址
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default glen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.8.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default glen 1000
link/ether 00:0c:29:66:6c:4a brd ff:ff:ff:ff:ff:ff
inet 192.168.237.2/24 brd 192.168.237.255 scope global noprefixroute ens33
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fe66:6c4a/64 scope link
valid_lft forever preferred_lft forever
路由
default via 192.168.237.1 dev ens33 proto static metric 20100
169.254.0.0/16 dev ens33 scope link metric 1000
192.168.237.0/24 dev ens33 proto kernel scope link src 192.168.237.2 metric 100
问题
使用上述指定的配置,我无法从 Ubuntu 客户端访问互联网。
问题
我哪里错了?我的配置正确吗?我需要对我的配置做什么?