オペレーティングシステム:Debian 8.2。
eth0とwlan0という2つのネットワークカードがあります。これは私の/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
asをifconfig
使用しないことをお勧めします。インターフェイスが起動せず、より簡単な操作の場合、エラーは発生しません(スクリプトです)。ifdown
ifconfig
ifdown