研究プロジェクトとして、VirtualBoxとDebian 8を使用して、ブリッジモードインターフェースのネットワーキングの基本を学びました。
次の場所でネットワークインターフェイスを無効にしましたdhcp
。eth0
/etc/network/interfaces
# ...
# iface eth0 inet manual
それでは、インターフェイスを直接設定しましょう。
# ifconfig eth0 192.168.0.99/24
その後、ゲートウェイ(192.168.0.1)をテストし、ping
正しく機能しました。
その後、ルーティングテーブルにデフォルトゲートウェイを追加しました。
# route add default gateway 192.168.0.1 netmask 255.255.255.0 dev eth0
いくつかのテスト、ダウンロードなどを経た後、すべてがうまく機能することがわかりました。
その後、パスを削除し、テストにデフォルトゲートウェイを使用する方法を学ぶことにしました。効果がある
これは私の問題です。
上記のような行を使用してゲートウェイを再追加しようとすると、SIOCADDRT:ネットワークにアクセスできません「間違い。
私はどんな問題を解決しようとしていますか?
ifdown
そしてifup
私のインターフェースifconfig
使用;インターフェースの再構成networking
デーモンを再起動してください。
働く唯一のこと再起動マシン。
コンピュータを再起動せずにパスを再追加する方法はありますか?
答え1
私のサーバーで問題を再現しました。
注目すべき重要な点は、インターフェイス設定がこれを行うため、ネットワークにルートを追加する必要がないことです。永久に変更する必要がある場合でも、これを/etc/network/interfacesに配置し、「gateway」オプションを使用してネットワークのゲートウェイを指定できます。これにより、ネットワークにデフォルトのgwパスを追加する必要さえありません。
設定:家庭用PC - >固定IPの追加192.169.3.2ターゲットは、同じスイッチに接続されているサーバーからこのIPに到達することです。 (仮想スイッチまたは物理スイッチの場合は同じ)
サーバーの初期構成
root@raspberrypi:~# ifconfig -a
eth0 Link encap:Ethernet HWaddr b8:27:eb:fd:73:1b
inet addr:192.169.1.2 Bcast:192.169.1.255 Mask:255.255.255.0
inet6 addr: fe80::d89e:52c:aa96:d2b5/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:3883499 errors:0 dropped:46 overruns:0 frame:0
TX packets:5939416 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:580337982 (553.4 MiB) TX bytes:1486713518 (1.3 GiB)
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:370 errors:0 dropped:0 overruns:0 frame:0
TX packets:370 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:29124 (28.4 KiB) TX bytes:29124 (28.4 KiB)
root@raspberrypi:~# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
link-local * 255.255.0.0 U 202 0 0 eth0
192.169.1.0 * 255.255.255.0 U 0 0 0 eth0
それでは、コンピュータIP(192.169.3.2)を取得するためのインターフェイスを作成しましょう。
インターフェイスの作成と検証
root@raspberrypi:~# ifconfig eth0:1 192.169.3.5/24
root@raspberrypi:~# ifconfig eth0:1
eth0:1 Link encap:Ethernet HWaddr b8:27:eb:fd:73:1b
inet addr:192.169.3.5 Bcast:192.169.3.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
パスを追加せずに自宅のコンピュータにpingを送信します。
root@raspberrypi:~# ping 192.169.3.2
PING 192.169.3.2 (192.169.3.2) 56(84) bytes of data.
64 bytes from 192.169.3.2: icmp_seq=1 ttl=128 time=32.3 ms
64 bytes from 192.169.3.2: icmp_seq=2 ttl=128 time=2.95 ms
^C
--- 192.169.3.2 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 2.956/17.642/32.329/14.687 ms
実際のルーティングテーブルの確認
root@raspberrypi:~# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
link-local * 255.255.0.0 U 202 0 0 eth0
192.169.1.0 * 255.255.255.0 U 0 0 0 eth0
192.169.3.0 * 255.255.255.0 U 0 0 0 eth0
ご覧のとおり、eth0インターフェイスを介したルート192.169.3.0/24がルーティングテーブルに自動的に追加され、そのルートを削除するとネットワークにアクセスできなくなり、ネットワーク経由でデフォルトルートを追加することもできません。
ルートの削除と接続性の確認
root@raspberrypi:~# route del -net 192.169.3.0/24 dev eth0
root@raspberrypi:~# route
root@raspberrypi:~# ping 192.169.3.2
PING 192.169.3.2 (192.169.3.2) 56(84) bytes of data.
^C
--- 192.169.3.2 ping statistics ---
2 packets transmitted, 0 received, 100% packet loss, time 1005ms
インターフェイス構成の確認
root@raspberrypi:~# ifconfig eth0:1
eth0:1 Link encap:Ethernet HWaddr b8:27:eb:fd:73:1b
inet addr:192.169.3.5 Bcast:192.169.3.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
ご覧のとおり、インターフェイスは正しく設定されていますが、ルーティングテーブルからパスを手動で削除したため、ネットワークに接続できません。したがって、カーネルはパケットを送信する場所を知ることができません。
ルーティングテーブルの確認
root@raspberrypi:~# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
link-local * 255.255.0.0 U 202 0 0 eth0
192.169.1.0 * 255.255.255.0 U 0 0 0 eth0
root@raspberrypi:~#
パスを手動で再追加すると、ネットワークに接続でき、pingが可能になります。