通过 Host-only 网络访问互联网

通过 Host-only 网络访问互联网

初始情况

我需要在两个在主机专用网络中工作的 VMWare 映像之间共享互联网,其中一个主机作为服务器,另一个主机作为客户端。

我正在使用 VMWare Workstation,有两种虚拟网络:

  1. VMnet4:
    • 类型:仅限主机
    • 子网 IP:192.168.237.0/24
  2. VMnet8:
    • 类型:NAT
    • 子网 IP:192.168.56.0/24
    • 网关 IP:192.168.56.1
  3. 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 客户端访问互联网。


问题

我哪里错了?我的配置正确吗?我需要对我的配置做什么?

相关内容