我在Ubuntu 12.10上安装了一个isc-dhcp-server,我正在尝试在头节点上为本地网络中的六台工作计算机设置DHCP服务器。头节点本身是DHCP客户端,从网络中的其他计算机接收IP地址192.168.20.1(在eth0上)。
头节点上启用IPv4 IP转发。在/etc/sysctl.conf中添加了以下行:
net.ipv4.ip_forward = 1
在/etc/rc.local中设置以下规则:
/sbin/iptables -P FORWARD ACCEPT
/sbin/iptables --table nat -A POSTROUTING -o eth0 -j MASQUERADE
此外,INTERFACES="eth0"
在/ etc / default / isc-dhcp-server中设置。
dhcpd.conf文件包含(目前文件中只有一台工作计算机):
ddns-update-style none;
default-lease-time 3600;
max-lease-time 7200;
authoritative;
subnet 192.168.20.0 netmask 255.255.255.0 {
range 192.168.20.2 192.168.20.200
host hostName {
hardware ethernet macOfHost;
fixed-address 192.168.20.20;
}
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.20.255;
option routers 192.168.20.1;
}
工作节点有效地获取IP地址192.168.20.20,但它没有互联网连接。ping到192.168.20.1是成功的,并且ping到作为头节点的DHCP服务器的计算机(ping到192.168.1.1)。这个问题似乎与DNS没有关系,因为ping到IP地址(例如8.8.4.4)失败。
更新
网络拓扑如下。有一台交换机连接计算机(具有Internet访问权限,运行DHCP服务器,IP地址192.168.1.1)和其他7台计算机。这7台计算机中的一台从192.168.1.1计算机获取IP。它获得的IP是192.168.20.1并且该计算机上的互联网工作正常。现在我们有一台运行在192.168.20.1上的DHCP服务器,以便为其他6台计算机提供Internet访问,但是失败了。他们获得IP地址,但没有互联网访问权限。我们不允许修改192.168.1.1节点上的任何内容,因此使用此设置使互联网工作应该是可行的。
有人知道问题可能是什么吗?