向同一网络接口添加更多 IP——是否使用别名?

向同一网络接口添加更多 IP——是否使用别名?

我正在使用raspbian(内核4.1.19+):我想在后者上设置相同的网卡以拥有两个IP(即和192.168.1.9)。10.0.0.1wlan0

我的/etc/network/interfaces有部分:

auto lo

iface lo inet loopback
iface eth0 inet dhcp

allow-hotplug wlan0
iface wlan0 inet manual
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp

auto wlan0:0
iface wlan0:0 inet static
address 10.0.0.1
netmask 255.255.255.255
gateway 192.168.1.1

看起来ifconfig像:

wlan0     Link encap:Ethernet  HWaddr ec:1a:59:0f:39:81  
          inet addr:192.168.1.9  Bcast:192.168.1.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2236 errors:0 dropped:6 overruns:0 frame:0
          TX packets:1776 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:411452 (401.8 KiB)  TX bytes:417709 (407.9 KiB)

wlan0:0   Link encap:Ethernet  HWaddr ec:1a:59:0f:39:81  
          inet addr:10.0.0.1  Bcast:10.0.0.1  Mask:255.255.255.255
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

我是否应该继续使用别名?

我之所以问这个问题,是因为我读到过这些显然过时的但我不知道我的是否wlan0会支持这些(这是Belkin Components F7D2102 802.11n N300 Micro Wireless Adapter v3000 [Realtek RTL8192CU]一个USB)。

如果我要删除别名,我是否应该输入相同的命令但在:0界面末尾删除?

答案1

它们wlan0:0等别名已经过时,因为它们是旧 Linux 内核的一种解决方法,旧内核只能为一个接口分配一个 IP 地址。更现代的内核允许为每个接口分配多个 IPv4(这实际上是 IPv6 的要求)。

这是内核的问题;实际的 WLAN 驱动程序与此无关。

因此,只需使用现代的替代品ip来代替旧的ifconfig,并且正如另一个答案中提到的那样,只需向interace节中添加第二个IP,而不是使用wlan0:0

只要您的唯一目的是将 Pi-Hole 与 Neatgear N600 一起使用,并且 Neatgear 上的自定义路由没有问题,并且您当前在 RaspPi 上运行的所有程序都没有问题,它就应该可以工作。顺便说一句,您看到 DNS 请求的源 IP 来自 Netgear,因为 Netgear 本身运行 DNS 代理(以缓存 DNS 请求,使查找速度更快),就像 Pi-Hole 由自定义代理组成一样。

如果您遇到麻烦,另一种方法是在 RaspPi 上创建一个额外的网络命名空间,但 Pi-Hole 进入该命名空间,并从主命名空间路由到该命名空间并返回。这样,您就可以干净地将 Pi-Hole 和其他 RaspPi 应用程序分开。

答案2

您可以简单地sudo ifconfig wlan0:0 down删除auto wlan0:0界面中的部分,然后添加inet 10.0.0.1 255.xxx.xxx.xxx您的ifup脚本。

就我个人而言,如果它运行良好,我不认为它会很快从内核中删除,所以我会让它保持正常运行,而且我不知道我可能使用 dev 别名添加了什么路由/转发规则/等等,我也不知道接口是否支持多个 IP 地址等...

但是,如果您想采取主动措施,请尝试向真实接口添加第二个 IP(您可能需要将其关闭),然后sudo ifconfig wlan0 inet 128.66.1.1 255.255.0.0检查一切是否正常。如果您遇到任何问题,您可以立即解决,这样可以免去几年后更新时再进行故障排除的麻烦,因为别名不再受支持。

由你决定。

相关内容