DHCP 服务器未路由客户端以连接到互联网

DHCP 服务器未路由客户端以连接到互联网

我正在使用带有 2 个 LAN 卡的 ubuntu 11.10 配置 DHCP 服务器。eth0 连接到 wan 的 IP 地址为:192.168.2.2/24,连接到 LAN 的 eth1 配置为 ip:192.168.10.1/24 网关:192.168.10.1。

我已将 /etc/dhcp/dhcp.conf 配置为

default-lease-time 600;
max-lease-time 7200;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.10.255;
option routers 192.168.10.254;
option domain-name-servers 192.168.10.1, 192.168.10.2;
subnet 192.168.10.0 netmask 255.255.255.0 {
range 192.168.10.10 192.168.10.100;
}

/etc/default/isc-dhcp 服务器

INTERFACES="eth1"

/etc/网络/接口

auto lo
iface lo inet loopback
auto eth1
iface eth1 inet static
address 192.168.10.1
netmask 255.255.255.0
gateway 192.168.10.1
broadcast 192.168.10.255 

/etc/sysctl.conf

net.ipv4.ip_forward=1

在这些事情之后我做了

iptables --flush
iptables --table nat --flush
iptables --delete-chain
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m conntrack --ctstate NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -A FORWARD -i eth1 -j ACCEPT
iptables-save | sudo tee /etc/iptables.sav
sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"

/etc/resolv.conf 始终默认获取名称服务器。

我可以在此服务器上浏览互联网,但不能从客户端浏览。我的 dhcp 服务器在客户端机器上正常运行,我可以 ping eth1 和 eth0,但无法连接到互联网,这里我遗漏了什么吗?请有人帮帮我...

答案1

在 /etc/network/interfaces 中不要指定广播或网关。这是通过 dhcp 租约完成的。但是,您需要为 DHCP 指定一个网络。这将配置 eth1 在 192.168.10/24 网络上运行。eth0 将是连接到主 DHCP 路由器的网关。将其更改为此 -->

auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
     pre-up iptables-restore < /etc/iptables_rules
auto eth1
iface eth1 inet static
address 192.168.10.1
netmask 255.255.255.0
network 192.168.10.0

然后您的 dhcp.conf 文件将指定路由器和网关。使用 /etc/resolv.conf 文件中的 DNS IP 地址。这些地址已知适合您所在位置的 ISP。将 DHCP.conf 中的路由器和 DNS 设置更改为 -->

option routers 192.168.10.1;
#8.8.8.8 is google's public DNS server (this is optional)
#Include the DNS IP addresses in your /etc/resolv.conf file
option domain-name-servers 8.8.8.8, (IP addresses in your /etc/resolv.conf)

注意:如果您想保存 iptables 规则,请在设置后运行此命令将其保存到文件 --> iptables-save > /etc/iptables_rules 您可以在我提供的 /etc/network/interfaces 设置中看到加载规则的位置。这将在网络管理器加载/重新加载时发生。

如果这有帮助的话请告诉我。

相关内容