如何在 /etc/network/interfaces 中将 wlan0 设置为默认活动?

如何在 /etc/network/interfaces 中将 wlan0 设置为默认活动?

操作系统:Debian 8.2。

有两个网卡:eth0 和 wlan0。这是我的 /etc/network/interfaces 文件:

iface eth0 inet static
address 192.168.1.100
netmask 255.255.255.0
gateway 192.168.1.1

auto wlan0
iface wlan0 inet manual
wpa-driver nl80211
wpa-roam /etc/wpa_supplicant.conf
iface default inet static
address 192.168.1.101
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 192.168.1.1

我的目标是当 eth0 和 wlan0 都可以连接时,wlan0 将处于活动状态,而 eth0 将处于非活动状态。
经测试,当eth0和wlan0都可以连接并且都可以使用时,eth0就会激活。
剧本无法实现我的目标;我应该如何重写它?我将 /etc/network/interfaces 重写如下:

auto wlan0
iface wlan0 inet manual
wpa-driver nl80211
wpa-roam /etc/wpa_supplicant.conf
iface default inet static
address 192.168.1.101
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 192.168.1.1
if-up ifconfig eth0 down

ifconfig当我重新启动电脑后输入时,信息显示在屏幕上。

eth0      Link encap:Ethernet  HWaddr e0:3f:49:57:4b:d1
          inet addr:192.168.1.3  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::e23f:49ff:fe57:4bd1/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:6068 errors:0 dropped:0 overruns:0 frame:0
          TX packets:113 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:3780468 (3.6 MiB)  TX bytes:11800 (11.5 KiB)

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:14 errors:0 dropped:0 overruns:0 frame:0
          TX packets:14 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:700 (700.0 B)  TX bytes:700 (700.0 B)

wlan0     Link encap:Ethernet  HWaddr 00:21:5d:26:c1:10
          inet addr:192.168.1.101  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::221:5dff:fe26:c110/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1291 errors:0 dropped:0 overruns:0 frame:0
          TX packets:5146 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:81917 (79.9 KiB)  TX bytes:992000 (968.7 KiB)

现在我很困惑,哪个IP是我的? 192.168.1.3 还是 192.168.1.101?
哪一个在工作? 192.168.1.3 还是 192.168.1.101?

答案1

pre-up简短说明:可以将操作添加到接口配置中,因为操作可以在接口使用指令和之前或之后完成if-up

在您的配置中添加一条在成功启动eth0后删除的指令:wlan0

auto wlan0
iface wlan0 inet manual
wpa-driver nl80211
wpa-roam /etc/wpa_supplicant.conf
iface default inet static
address 192.168.1.101
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 192.168.1.1
if-up ifconfig eth0 down
if-down ifconfig eth0 up

我建议ifconfig不要使用ifdownas ifconfig,如果接口未启动,则不会抛出错误,并且是一个更简单的操作(ifdown是一个脚本)

相关内容