如何让我的客户端在 VirtualBox 中的 Ubuntu 16.04 中使用 iptables 使用互联网

如何让我的客户端在 VirtualBox 中的 Ubuntu 16.04 中使用 iptables 使用互联网

我已经设置了 dhcp 服务器,该服务器正在监听私有服务器中的 IP 请求。当客户端连接到它时,他会获得 IP、网关和 dns 地址。服务器可以 ping 他,客户端可以 ping 服务器,但客户端不想获得互联网连接,我想知道这是我的配置还是错误的命令。ip_forward 设置为 1。


DHCP 配置

subnet 10.10.10.0 netmask 255.255.255.0 {
option domain-name-servers 8.8.8.8;
range 10.10.10.40 10.10.10.60;
option routers 10.10.10.1;
}`

接口配置

auto lo enp0s3 enp0s8

iface lo inet loopback

iface enp0s3 inet dhcp
iface enp0s8 inet static
   address 10.10.10.11
   netmask 255.255.255.0

 iptables -t nat -A POSTROUTING -s "addresses below" -d "-||-" -j MASQUERADE

iptables 结果

如何设置 iptables,因为我很困惑 :c

答案1

假设:
enp0s3 位于 192.168.1.0/24 子网,该子网又连接到互联网。enp0s8
位于 10.10.10.0/24 子网,位于 10.10.10.11 并且是本地的。10.10.10.1
实际上并不存在。
客户端位于 10.10.10.40 - 10.10.10.60 池中的某个位置。

那么您的基本路由器类型 iptables 规则需要为:

sudo iptables -t nat -A POSTROUTING -o enp0s3 -j MASQUERADE

并且您的选项路由器语句需要是:

option routers 10.10.10.11;

编辑:根据您的其他问题,您的客户端可能位于动态地址池之外,根据 MA​​C(机器地址代码)获取其 IP 地址 10.10.10.10。这样很好,但它的租约不会出现在文件中/var/lib/dhcp/dhcpd.leases

相关内容