10.0.0で始まるIPアドレスにアクセスするときに、ゲートウェイ10.0.1.252を使用するようにワイヤレスネットワークを構成しようとしています。
私はinterfacesファイルでそれを行う方法についていくつかの説明に従いましたが、成功しませんでした。
これは私の最初の/ etc/network/interfacesファイルの内容です:
auto lo
iface lo inet loopback
数時間検索して読んだ後、私はそれを次のように見せました:
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth1
iface eth1 inet static
address 10.0.1.171
netmask 255.255.255.0
broadcast 10.0.1.255
gateway 10.0.1.254
# static route
up route add -net 10.0.0.0/24 gw 10.0.1.252 dev eth1
言及された構成は、ネットワークを再起動した後、Ubuntuを再起動するまで機能します。 Ubuntuを再起動すると、ネットワークマネージャーが失われ、インターネットまたは目的のアドレス10.0.0.xに接続できなくなります。
何が間違っているのですか、それとも新しいバージョンのUbuntuで永続的なルートを設定する簡単な方法はありますか?
有線接続を使用していないため、ワイヤレス接続を構成していることを説明します。
更新1:(〜$ ifconfig)
eth0 Link encap:Ethernet HWaddr 00:24:81:64:9a:5c
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Interrupt:17
eth1 Link encap:Ethernet HWaddr 00:21:00:d8:25:45
inet addr:10.0.1.171 Bcast:10.0.1.255 Mask:255.255.255.0
inet6 addr: fe80::221:ff:fed8:2545/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Interrupt:17
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:16436 Metric:1
RX packets:284 errors:0 dropped:0 overruns:0 frame:0
TX packets:284 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:21280 (21.2 KB) TX bytes:21280 (21.2 KB)
更新2:(〜$ route -n)
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
10.0.0.0 10.0.1.252 255.255.255.0 UG 0 0 0 eth1
10.0.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 eth1
0.0.0.0 10.0.1.254 0.0.0.0 UG 100 0 0 eth1
PDATE 3:このコードに問題があることに気づきました:
iface eth1 inet static
address 10.0.1.171
netmask 255.255.255.0
broadcast 10.0.1.255
gateway 10.0.1.254
コメントアウトすると、ネットワークマネージャーとインターネットアクセスは取得できますが、希望するルートは取得できません。
Ifupdownを介して(つまり、/etc/network/interfaces
で)ネットワークを構成し、手動でネットワークを開始したときに機能するが、再起動後には機能しない場合、1つの可能性は、セットアップがネットワークを正しく起動していることです。他のシステムコンポーネントはネットワークを再構成します。明らかな容疑者はNetworkManagerです。 /etc/NetworkManager/nm-system-settings.conf
の[ifupdown]
の下にmanaged=false
があることを確認してください。 (これは、Ubuntu 10.04では少なくともデフォルトですが、10.10で変更されたか、以前のNetwork Managerの実験で変更した可能性があります。)
Network Managerを使い続ける場合は、追加のルートを追加するように指示できます。 Ubuntu 10.04以降(他のディストリビューションではNetwork Managerが同じように設定されていない可能性があります)、Network Managerは/etc/network/if-*.d/
でifupdownスクリプトを実行します。これらのスクリプトの役割は、pre-up
のup
、down
、post-down
および/etc/network/interfaces
ディレクティブと同様です(Network Managerは実行しません)。 Network Managerがこのインターフェースを管理できるように、eth1 from
/etc/network/interfaces`に関するすべての言及をコメントアウトしてください。
スクリプトは interfaces(5)man page に記載されています。これらは、開始または停止されている接続に関する情報を含む環境で実行されます。特に、$IFACE
はインターフェース名です。したがって、次のスクリプトを/etc/network/if-up.d/zzzz-milan-wireless-route
に入れます。
#!/bin/sh
if [ "$IFACE" = "eth1" ]; then
route add -net 10.0.0.0/24 gw 10.0.1.252 dev eth1
fi
実行可能にします:chmod 755 /etc/network/if-up.d/zzzz-milan-wireless-route
。次回Network Managerがネットワークを立ち上げるときには、デフォルトのルートが必要です。