network command

|**|

network command ifconfig and route 004

並列の構成から 直列の 構成に 変更 してみましょう、まず 並列の構成

adsl-modem IP:192.168.0.1 ----hub------pc1;eth0:192.168.0.5
                              |        pc1;eth1:192.168.2.1
                              |
                               --------pc2;eth0:192.168.0.8

次に 直列の 構成

adsl-modem ---- hub----pc1;eth0:IP adr:192.168.0.5
                       pc1;eth1:IP adr:192.168.2.1 -----pc2;eth0:IP adr:192.168.2.8

注意 動作中の ケーブルの 抜きさし は 厳重に 禁 止です 計算機が 故障する 恐れが ありますので 一度 計算機を 停止 した 後 に 作業を してください。切替での 試行を してみる 並列で 動作中 pc2 の lan ケーブル(ストレー ト のもの)を 抜く そうして 別の lan ケーブル (クロスのもの)で pc1 の eth1 側と pc2 を 接続そのうち 画面に このような 物が表示されて 切れる。

# Read from remote host 192.168.0.8: No route to host
Connection to 192.168.0.8 closed.

pc2 設定 変更

pc1 から ssh での 操作不能 (当り前)であるので pc2 の 場所に 移動し て pc2 の 設定変えを 行う。

$ su -
Password: 
# ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 00:00:E2:1A:A4:E7  
          inet addr:192.168.0.8  Bcast:192.168.0.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:35623 errors:0 dropped:0 overruns:0 frame:0
          TX packets:26809 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:12295264 (11.7 Mb)  TX bytes:5400555 (5.1 Mb)
          Interrupt:10 
# netstat -rn
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
192.168.0.0     0.0.0.0         255.255.255.0   U         0 0          0 eth0
127.0.0.0       0.0.0.0         255.0.0.0       U         0 0          0 lo
0.0.0.0         192.168.0.1     0.0.0.0         UG        0 0          0 eth0

現状の 確認 当然 何も していない 状態 なので 並列の 構成の ままである。 駄目押し確認

# ping -c3 192.168.0.5
PING 192.168.0.5 (192.168.0.5): 56 octets data

--- 192.168.0.5 ping statistics ---
3 packets transmitted, 0 packets received, 100% packet loss
# ping -c3 192.168.2.1
PING 192.168.2.1 (192.168.2.1): 56 octets data

--- 192.168.2.1 ping statistics ---
3 packets transmitted, 0 packets received, 100% packet loss
# ping -c3 192.168.0.8
PING 192.168.0.8 (192.168.0.8): 56 octets data
64 octets from 192.168.0.8: icmp_seq=0 ttl=64 time=0.1 ms
64 octets from 192.168.0.8: icmp_seq=1 ttl=64 time=0.1 ms
64 octets from 192.168.0.8: icmp_seq=2 ttl=64 time=0.0 ms

--- 192.168.0.8 ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max = 0.0/0.0/0.1 ms

pc2 eth0 設定 変更

ifconfig にて 設定 変更

# ifconfig eth0 192.168.2.8 broadcast 192.168.2.255 netmask 255.255.255.0
# ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 00:00:E2:1A:A4:E7  
          inet addr:192.168.2.8  Bcast:192.168.2.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:35624 errors:0 dropped:0 overruns:0 frame:0
          TX packets:26819 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:12295324 (11.7 Mb)  TX bytes:5401143 (5.1 Mb)
          Interrupt:10 
# netstat -rn
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
192.168.2.0     0.0.0.0         255.255.255.0   U         0 0          0 eth0
127.0.0.0       0.0.0.0         255.0.0.0       U         0 0          0 lo

この時点で gw 消滅 してる事に 注意 多摩たまか 必然かは 不明 ping 試験 確認

# ping -c3 192.168.2.8
PING 192.168.2.8 (192.168.2.8): 56 octets data
64 octets from 192.168.2.8: icmp_seq=0 ttl=64 time=0.1 ms
64 octets from 192.168.2.8: icmp_seq=1 ttl=64 time=0.0 ms
64 octets from 192.168.2.8: icmp_seq=2 ttl=64 time=0.1 ms

--- 192.168.2.8 ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max = 0.0/0.0/0.1 ms
# ping -c3 192.168.2.1
PING 192.168.2.1 (192.168.2.1): 56 octets data
64 octets from 192.168.2.1: icmp_seq=0 ttl=64 time=0.4 ms
64 octets from 192.168.2.1: icmp_seq=1 ttl=64 time=0.2 ms
64 octets from 192.168.2.1: icmp_seq=2 ttl=64 time=0.2 ms

--- 192.168.2.1 ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max = 0.2/0.2/0.4 ms

ここまでは 特に 言う事は 無いでしょう さて pc1 の eth0 IP Adr 192.168.0.5 への ping 試験は :pc2 から pc1の eth0 への 場合

# ping -c3 192.168.0.5
PING 192.168.0.5 (192.168.0.5): 56 octets data
sendto: Network is unreachable
ping: sent 64 octets to 192.168.0.5, ret=-1
sendto: Network is unreachable
ping: sent 64 octets to 192.168.0.5, ret=-1
sendto: Network is unreachable
ping: sent 64 octets to 192.168.0.5, ret=-1

--- 192.168.0.5 ping statistics ---
3 packets transmitted, 0 packets received, 100% packet loss

では まず gateway を 設定 してみよう これが 解決に なるかは 不明だが、 現状再確認

# netstat -rn
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
192.168.2.0     0.0.0.0         255.255.255.0   U         0 0          0 eth0
127.0.0.0       0.0.0.0         255.0.0.0       U         0 0          0 lo

gateway を 設定 と 其結果

# route add default gw 192.168.2.1
# netstat -rn
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
192.168.2.0     0.0.0.0         255.255.255.0   U         0 0          0 eth0
127.0.0.0       0.0.0.0         255.0.0.0       U         0 0          0 lo
0.0.0.0         192.168.2.1     0.0.0.0         UG        0 0          0 eth0

ほたら ping 試験

# ping -c3 192.168.0.5
PING 192.168.0.5 (192.168.0.5): 56 octets data
64 octets from 192.168.0.5: icmp_seq=0 ttl=64 time=0.3 ms
64 octets from 192.168.0.5: icmp_seq=1 ttl=64 time=0.1 ms
64 octets from 192.168.0.5: icmp_seq=2 ttl=64 time=0.1 ms

--- 192.168.0.5 ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max = 0.1/0.1/0.3 ms

美味い ほんなら ついでに adsl-modem IP Adr 192.168.0.1 には どうなる の

# ping -c3 192.168.0.1
PING 192.168.0.1 (192.168.0.1): 56 octets data

--- 192.168.0.1 ping statistics ---
3 packets transmitted, 0 packets received, 100% packet loss

不味い この 状態は ”pc2 eth0 192.168.2.8 --- pc1 eth1 192.168.2.1 --eth0 192.168.0.5” までは 届くが pc1 から adsl- modem の192.168.0.1 には 届かない(ここで くどい 様であるが pc1 と adsl-modem の 間 というのは pc2 から 出ていって pc1 に ついて そこから adsl-modem へ ということであり pc1 と adsl-modem の 直接の 関係では 無いと 言う事 ; pc2--pc1--adsl-modem ;の 間というこ とです)

adsl-modem ---------- pc1 eth0 ========= pc1 eth1 -------- pc2 eth0 
IP Ad 192.168.0.1     IP Ad 192.168.0.5  IP Ad 192.168.2.1 IP Ad 192.168.2.8
ping test1                                     eth1      OK        eth0
ping test2                   eth0             OK                   eth0      
ping test3 adsl         NO                                         eth0

ここで にゃんたろうの 誤解 してた事は ”ping test2”も 駄目に なると 思って 潮来とです(いたことです)実際は ”ping test3”が 駄目 ということ です。そこで pc1 の ip_forward を 1 にしなくては ということが 考えられ る事に なるのです。 やって なんぼ の 世界です。では pc1 の場所に に 戻っ て ”/proc/sys/net/ipv4/ip_forward”を 変更してみましょう

pc1 と pc2

pc1 での 操作

pc2 で 直列 の 条件に なるように 設定 したので もう pc1 から ssh で pc2 の 操作が 出来るように なっている 筈です

$ ssh -l mm 192.168.2.8
Password:  /*  以降 192.168.2.8 pc2 での 操作と 同じ 事です  */
$ ping -c3 192.168.0.5
PING 192.168.0.5 (192.168.0.5): 56 octets data
64 octets from 192.168.0.5: icmp_seq=0 ttl=64 time=0.2 ms
64 octets from 192.168.0.5: icmp_seq=1 ttl=64 time=0.1 ms
64 octets from 192.168.0.5: icmp_seq=2 ttl=64 time=0.2 ms

--- 192.168.0.5 ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max = 0.1/0.1/0.2 ms
$ ping -c3 192.168.0.1
PING 192.168.0.1 (192.168.0.1): 56 octets data

--- 192.168.0.1 ping statistics ---
3 packets transmitted, 0 packets received, 100% packet loss

ここまで 先ほどの pc2 での 確認 事項と 同じ 結果が 得られます。

/proc/sys/net/ipv4/ip_forward

pc1 にて ”/proc/sys/net/ipv4/ip_forward”の 値を 変えてみましょう。

# cat /proc/sys/net/ipv4/ip_forward
0
# echo 1 > /proc/sys/net/ipv4/ip_forward
# cat /proc/sys/net/ipv4/ip_forward
1

そうして pc2 から adsl-modem への ping 試験です

 on 192.168.2.8 pc2 
$ ping -c3 192.168.0.1
PING 192.168.0.1 (192.168.0.1): 56 octets data
64 octets from 192.168.0.1: icmp_seq=0 ttl=254 time=1.2 ms
64 octets from 192.168.0.1: icmp_seq=1 ttl=254 time=0.8 ms
64 octets from 192.168.0.1: icmp_seq=2 ttl=254 time=0.7 ms

--- 192.168.0.1 ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max = 0.7/0.9/1.2 ms

ということで、pc1 と pc2 が 直列の 時に” /proc/sys/net/ipv4/ip_forward” の フラグは有効であることが にゃんたろう にも 理解できました では ここいらで 五話三(ごわさん)にして 再起動して 見ましょう つまり 元の 並列の 条件に 戻すのです 今回は 真っ当に 計算機の 電源を 切ってから 再起動 しましょう。

 on 192.168.2.8 pc2 
# shutdown -h now
The system is going down for system halt NOW!
# Connection to 192.168.2.8 closed by remote host.
Connection to 192.168.2.8 closed.

192.168.0.5 pc1 側 にて

# cd /etc/rc.d/
# mv stop_rc.inet1 rc.inet1 
# shutdown -h now

ケーブルを 元の 状態に 接続 してください pc1 と pc2 の lan ケーブルは クロスケーブル でしたので わかり易い 印が ついているか 確認後 何処かへ 収納 しておいて 下さい、そうして 元の ケーブルを これは ストレート ケーブル を pc2 と hub 間に 再度 接続 してください その後 計算機を起動してください (蛇足 pc1 pc2 停止後 adsl-modem の 電源も 切る事を忘れないで 下さい ;だれも このようには しないかも しれませんが )ここまでで ifconfig と route に ついて 少し 理解 出来たと 思います 又合わせて ”/proc/sys/net/ipv4/ip_forward”の ip_forward が 唐突に 出てきたが forward の 事も 少し 理解出来たと 考えます。

にゃんたろう 拝!

2005年11月 4日 (金) 21:55:23 JST 作成

|**|


network command

Copyright © 2004.-2007. nyantarou All Rights Reserved.