我已经设置了 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,因为我很困惑 :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;
编辑:根据您的其他问题,您的客户端可能位于动态地址池之外,根据 MAC(机器地址代码)获取其 IP 地址 10.10.10.10。这样很好,但它的租约不会出现在文件中/var/lib/dhcp/dhcpd.leases
。