5.7.6. 手动的可切换网络配置

以下是如何在几个网络配置中进行手动切换,而无需像 第 5.6.13 节 “网络重新配置基础” 中那样重写 “/etc/network/interfaces” 文件。

对于你需要访问的所有网络配置,你需要在 “/etc/network/interfaces” 文件中像下面那样创建一个单独的节。

  1. auto lo
  2. iface lo inet loopback
  3. iface config1 inet dhcp
  4. iface config2 inet static
  5. address 192.168.11.100
  6. netmask 255.255.255.0
  7. gateway 192.168.11.1
  8. dns-domain example.com
  9. dns-nameservers 192.168.11.1
  10. iface pppoe inet manual
  11. pre-up /sbin/ifconfig eth0 up
  12. up ifup ppp0=dsl
  13. down ifdown ppp0=dsl
  14. post-down /sbin/ifconfig eth0 down
  15. # The following is used internally only
  16. iface dsl inet ppp
  17. provider dsl-provider
  18. iface pots inet ppp
  19. provider provider

请注意,iface 后面标识的 网络配置名称 不用于标识 网络接口名称。另外,也没有 autoallow-hotplug 节来根据事件自动启动网络接口 eth0

现在,你可以切换网络配置了。

让我们通过 DHCP 将你的 PC 移动到局域网。你可以通过下列命令开启由网络配置名称(逻辑接口名称)config1 指定的网络接口(物理接口) eth0

  1. $ sudo ifup eth0=config1
  2. Password:
  3. ...

eth0 接口已开启,由 DHCP 配置并连接到了局域网。

  1. $ sudo ifdown eth0=config1
  2. ...

eth0 接口已关闭并断开局域网连接。

让我们通过静态 IP 使你的 PC 移动到局域网。你可以通过下列命令开启由网络配置名称 config2 指定的网络接口 eth0

  1. $ sudo ifup eth0=config2
  2. ...

开启 eth0 接口,使用静态 IP 配置并连接到局域网。像 dns-* 这样的额外参数会配置 “/etc/resolv.conf” 的内容。如果安装了 resolvconf,“/etc/resolv.conf” 会更容易管理。

  1. $ sudo ifdown eth0=config2
  2. ...

eth0 接口再次关闭并断开局域网连接。

让我们将你的 PC 移动到 PPPoE 服务器的 BB-modem 上的一个端口。你可以通过下列命令开启由网络配置名称 pppoe 指定的网络接口 eth0

  1. $ sudo ifup eth0=pppoe
  2. ...

eth0 接口已开启,由 PPPoE 配置直接连接到 ISP。

  1. $ sudo ifdown eth0=pppoe
  2. ...

eth0 接口再次关闭并断开连接。

让我们将你的 PC 移动到使用 POTS 和 modem 的位置,而非局域网或 BB-modem。你可以通过下列命令开启由网络配置名称 ppp0 指定的网络接口 eth0

  1. $ sudo ifup ppp0=pots
  2. ...

开启 ppp0接口,并使用 PPP 连接到互联网。

  1. $ sudo ifdown ppp0=pots
  2. ...

关闭 ppp0 接口并断开网络。

你应该检查 “/etc/network/run/ifstate” 文件,查看ifupdown 系统当前网络配置的状态。

[警告]警告

如果你有多个网络接口,你可能需要调整 ethppp 等的末尾数字。