我想再添加两个环回接口。
我使用了以下命令:
ifconfig lo: 127.0.0.2 netmask 255.0.0.0 up
并输入ifconfig
,我可以看到环回地址已被添加。
但如果我想添加一个接口...(例如127.0.0.3)上一个界面(127.0.0.2) 已被覆盖。
而且当我查看时/etc/network/interfaces
我看不到任何条目。
我如何永久添加多个环回接口?
答案1
这取决于您想要什么lo
或者lo:
哪个是接口别名。
ifconfig lo:0 127.0.0.2 netmask 255.0.0.0 up
ifconfig lo:1 127.0.0.3 netmask 255.0.0.0 up
ifconfig lo:2 127.0.0.4 netmask 255.0.0.0 up
有效。如果你想要使用更多lo
IP
route add -host 127.0.0.3 dev lo
route add -host 127.0.0.4 dev lo
route add -host 127.0.0.5 dev lo
也可以。如果你想删除它,使用:
route del -host 127.0.0.3
route del -host 127.0.0.4
route del -host 127.0.0.5
也可以看看IP 别名 Linux 网络指南
答案2
如果你继续使用,ifconfig lo...
你就不会创建新的接口,而是会覆盖前一个接口。你可以尝试编辑你的接口文件:
sudo vim /etc/network/interfaces
我的看起来像这样:
# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback
因此,您可以尝试并修改它以创建新的接口:
# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback
auto lo2
iface lo2 inet loopback
auto lo3
然后,重新启动网络或整个系统,并尝试使用以下命令与新接口进行交互:
sudo ifconfig lo2/lo3 etc...
答案3
要永久添加多个环回接口,必须对虚拟驱动程序进行额外检查。
虚拟驱动程序用于制作多个环回设备,而不是
为一个设备创建多个别名,并附加不同的 IP。
这行添加了另一个名为的回送loop1, loop2, loop3
:
sudo ip link add name loop1 type dummy
sudo ip link add name loop2 type dummy
sudo ip link add name loop3 type dummy
dummy
在运行上述命令之前,请检查内核模块是否已加载:
sudo lsmod | grep dummy
答案4
我注意到,我并不是唯一一个寻找多个环回接口解决方案的人。在过去一段时间里,我花了很多时间研究 VRF 之间的 FRRouting 和路由泄漏,我注意到虚拟接口有一个奇怪的问题:如果虚拟接口位于 VRF 下,则不会响应 ping(更多解释请参阅 github 上的 README.md)。为此,我编写了一个基于虚拟、VRF 接口和环回的新驱动程序,我能够让它响应 ping。
也许有其他人有兴趣测试它并看看它是否适合作为多环回接口。
以下是资料来源:https://github.com/EasyNetDev/linux-multi-loopback
我还向 Linux 内核开了一张票,提到了虚拟驱动程序的这种不当行为以及有关这个新驱动程序的信息:https://bugzilla.kernel.org/show_bug.cgi?id=215675
希望能帮助到你。