设置带有子网的 Ubuntu 路由器

设置带有子网的 Ubuntu 路由器

我想在我的家庭网络中设置一个私有子网。我已经阅读了一些关于此内容的文章,但我不确定/etc/network/interface在 Linux 下如何设置该文件。Linux 客户端应充当 DSL 路由器和私有子网中其他客户端之间的路由器。客户端通过 eth0 接口连接到路由器,路由器通过 wlan0 接口连接到家庭 wifi。

设置图片显示在此处

ubuntu 路由器 iptable 条目包括:

iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
iptables -A FORWARD -i wlan0 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i eth0 -o wlan0 -j ACCEPT

ubuntu 路由器/etc/network/interface文件如下所示:

    auto wlan0
    iface wlan0 inet dhcp
     wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

    allow-hotplug eth0
    iface eth0 inet static
     address 10.0.0.1
     netmask 255.255.255.0
     broadcast 10.0.0.255
     gateway 192.168.0.1 (Wifi Router IP)
     dns-nameservers 192.168.0.1

我还启用了 ip4 转发。ubuntu 客户端的转发如下:

 allow-hotplug
    iface eth0 net static
     address 10.0.0.2 (changed for each client)
     netmask 255.255.255.0
     broadcast 10.0.0.255
     gateway 10.0.0.1 (Ubuntu Router IP)

curl www.google.de在客户端上使用会给我Could not resolve host: www.google.deping 结束于Destination Host Unreachable

答案1

首先,您的 wlan0 接口是 DHCP,因此您必须查看它是否请求并获取了具有租约的 DNS 服务器 IP。您可以通过简单地测试路由器计算机的查找来查看它们是否有效。更准确地说,查看请求和授予的租约。如果您使用的是默认文件,/etc/dhcp/dhclient.conf那么您应该看到类似以下内容:

request subnet-mask, broadcast-address, time-offset, routers,
       domain-name, domain-name-servers, domain-search, host-name,
       netbios-name-servers, netbios-scope, interface-mtu,
       rfc3442-classless-static-routes, ntp-servers;

您可以在其中看到 的部分请求domain-name-servers。您可以修改请求和/或覆盖此文件中的内容。授予的租约应该在 中/var/lib/dhcp/dhclient.wlan0.leases,您应该在其中看到 DNS 行。

其次,您的客户端计算机使用的是静态 IP 地址,因此您必须告诉它们使用什么作为 DNS。您需要将其添加到它们的 `/etc/network/interface 文件中,即(我不熟悉“allow-hotplug”,但保留了它):

allow-hotplug
iface eth0 net static
     address 10.0.0.2 (changed for each client)
     netmask 255.255.255.0
     broadcast 10.0.0.255
     gateway 10.0.0.1 (Ubuntu Router IP)
     dns-nameservers 192.168.0.1

第三,从路由器接口文件中删除该dns-nameservers节。它不属于那里。

相关内容