/etc/network/interfaces 的更改不起作用?

/etc/network/interfaces 的更改不起作用?

这是我的/etc/network/interfaces文件

我正在尝试添加 2虚拟接口连接到 2 个不同 ISP 的 2 个不同路由器

auto lo
iface lo inet loopback

iface eth2 inet static
        address     192.168.0.57
        netmask     255.255.255.0
        gateway     192.168.0.1

dns-nameservers    8.8.8.8 8.8.4.4

iface eth3 inet static
        address     192.168.1.57
        netmask     255.255.255.0
        gateway     192.168.1.1

我尝试了所有这些命令,但都不起作用

sudo /etc/init.d/networking restart
sudo /etc/init.d/networking reload`

还有这些

sudo ifconfig eth2 down
sudo ifconfig eth2 up

我收到一个错误:

eth2:获取接口标志时出错:没有这样的设备

我尝试manged=false插入/etc/NetworkManager/NetworkManager.conf

然后重新启动sudo service network-manger restart

当我输入ifconfig -a

我所得到的是

eth0      Link encap:Ethernet  HWaddr fc:aa:14:4d:11:22  
          inet addr:192.168.1.90  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::feaa:14ff:fe4d:1122/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:8027656 errors:0 dropped:2 overruns:0 frame:0
          TX packets:20898303 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:553970620 (553.9 MB)  TX bytes:1471000436 (1.4 GB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:1837917 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1837917 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:240925560 (240.9 MB)  TX bytes:240925560 (240.9 MB)

我的问题是:如何添加接口eth2eth3

答案1

好的,如果你有一个网卡,你可以通过这种方式添加虚拟接口

auto eth0
iface eth0 inet static
   address 192.168.1.57
   netmask 255.255.255.0
   gateway 192.168.1.1
   up ip addr add 192.168.0.57/24 dev eth0 label eth0:1
   down ip addr del 192.168.0.57/24 dev eth0 label eth0:1
   up ip route add 192.168.0.0/24 via 192.168.0.1 dev eth0:1 metric 20
   down ip route del 192.168.0.0/24 via 192.168.0.1 dev eth0:1 metric 20

您的问题eth0是在网络范围内192.168.1.xxx并且eth3也在该范围内,也许一个网络范围内只有一个接口就足够了?

如果你需要更多虚拟接口,可以eth0:2按照同样的方式添加eth0:1

但这仅在两种情况下有效。

  1. 您的 PC 连接到交换机,两个路由器也连接到同一交换机。这样,PC 就可以访问两个路由器

  2. 你的路由器接口上有主 IP 地址和辅助 IP 地址

编辑1

您必须编辑/etc/NetworkManager/NetworkManager.conf

sudo nano /etc/NetworkManager/NetworkManager.conf

这将在我们的文本编辑器中打开“NetworkManager.conf”文件。

现在改变:

managed=false

managed=true

更改后重新加载网络服务

sudo service networking restart

如果这不起作用,请尝试

sudo ifdown eth0 && sudo ifup eth0

答案2

使用eth2将告诉系统使用另一个适配器,但您只有一个。定义您应该使用的虚拟适配器eth0:<number>

尝试一下这个:

auto lo
iface lo inet loopback

iface eth0:1 inet static
        address     192.168.0.57
        netmask     255.255.255.0
        gateway     192.168.0.1

dns-nameservers    8.8.8.8 8.8.4.4

iface eth0:2 inet static
        address     192.168.1.57
        netmask     255.255.255.0
        gateway     192.168.1.1

答案3

要添加虚拟接口,请在 Linux 终端命令中输入以下命令

ifconfig VIRTUAL_INTERFACE_DEVICE IP_ADDRESS netmask SUBNET_MASK up
例如,
ifconfig eth0:1 192.168.1.6 netmask 255.255.255.0 up 这将创建一个名为 eth0:1 的新虚拟接口并分配 IP 地址 192.168.1.6。

要使此虚拟接口永久存在,请创建一个/etc/sysconfig/network-scripts/ifcfg-eth0:1包含以下内容的新文件

DEVICE=eth0:1
ONBOOT=是
BOOTPROTO=静态
IPADDR=192.168.1.99
NETMASK=255.255.255.0

编辑后输入service network-manager restart以应用更改。

要启动和关闭虚拟接口,请使用以下命令 ifup eth0:1ifdown eth0:1

相关内容