2008-05-22
Linux(CentOS5)のネットワーク設定メモ
What
Linux(CentOS5)のネットワーク設定をちゃんとしたい。
実験する環境
[root@localhost ~]# uname -a Linux localhost.localdomain 2.6.18-8.1.1.el5xen #1 SMP Mon Apr 9 11:46:46 EDT 2007 i686 i686 i386 GNU/Linux [root@localhost ~]# cat /etc/redhat-release CentOS release 5 (Final)
現状把握
CentOS5では、インストール時にほとんど設定されている。
[root@localhost ~]# ping -c 2 localhost PING localhost.localdomain (127.0.0.1) 56(84) bytes of data. 64 bytes from localhost.localdomain (127.0.0.1): icmp_seq=1 ttl=64 time=0.109 ms 64 bytes from localhost.localdomain (127.0.0.1): icmp_seq=2 ttl=64 time=0.063 ms --- localhost.localdomain ping statistics --- 2 packets transmitted, 2 received, 0% packet loss, time 999ms rtt min/avg/max/mdev = 0.063/0.086/0.109/0.023 ms [root@localhost ~]#
大丈夫っぽい。
- 外にping
[root@localhost ~]# ping google.com connect: Network is unreachable
なんかいろいろだめっぽい・・・orz
デフォルトゲートウェイの設定か?
- route
[root@localhost ~]# route -v Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 169.254.0.0 * 255.255.0.0 U 0 0 0 eth0 10.0.0.0 * 255.0.0.0 U 0 0 0 eth0
ん?デフォルトゲートウェイが設定されていない?
- netstat
[root@localhost ~]# netstat -r Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 169.254.0.0 * 255.255.0.0 U 0 0 0 eth0 10.0.0.0 * 255.0.0.0 U 0 0 0 eth0
- nslookup
[root@localhost ~]# nslookup google.com Server: 10.20.138.1 Address: 10.20.138.1#53 Non-authoritative answer: Name: google.com Address: 64.233.167.99 Name: google.com Address: 64.233.187.99 Name: google.com Address: 72.14.207.99
あれ?nslookupだとIPとれるぞ?
/etc/resolv.conf でLAN内DNSが設定されているからかな?
nslookup - DNSサーバに名前解決の問い合わせを行う
> nslookupコマンドは、DNSクライアントの名前解決機能を手動実行するためのコマンドだ。
- traceroute
[root@localhost ~]# traceroute google.com traceroute to google.com (64.233.167.99), 30 hops max, 40 byte packets connect: ネットワークに届きません
デフォルトゲートウェイが設定されてないからかな・・・。とりあえず今は状況確認なので次。
参考
- ifconfig
[root@localhost ~]# ifconfig -a
eth0 Link encap:Ethernet HWaddr 00:04:23:64:97:92
inet addr:10.20.138.13 Bcast:10.20.138.255 Mask:255.0.0.0
inet6 addr: fe80::204:23ff:fe64:9792/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:2688473 errors:0 dropped:0 overruns:0 frame:0
TX packets:175613 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:421431826 (401.9 MiB) TX bytes:246706281 (235.2 MiB)
eth1 Link encap:Ethernet HWaddr 00:04:23:64:97:93
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)
Base address:0xdc80 Memory:fcf80000-fcfa0000
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:1693 errors:0 dropped:0 overruns:0 frame:0
TX packets:1693 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:153985 (150.3 KiB) TX bytes:153985 (150.3 KiB)
peth0 Link encap:Ethernet HWaddr FE:FF:FF:FF:FF:FF
inet6 addr: fe80::fcff:ffff:feff:ffff/64 Scope:Link
UP BROADCAST RUNNING NOARP MTU:1500 Metric:1
RX packets:2689492 errors:0 dropped:0 overruns:0 frame:0
TX packets:244190 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:432272021 (412.2 MiB) TX bytes:251764952 (240.1 MiB)
Base address:0xdcc0 Memory:fcfa0000-fcfc0000
sit0 Link encap:IPv6-in-IPv4
NOARP MTU:1480 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:0
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
veth1 Link encap:Ethernet HWaddr 00:00:00:00:00:00
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:0
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
veth2 Link encap:Ethernet HWaddr 00:00:00:00:00:00
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:0
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
veth3 Link encap:Ethernet HWaddr 00:00:00:00:00:00
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:0
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
vif0.0 Link encap:Ethernet HWaddr FE:FF:FF:FF:FF:FF
inet6 addr: fe80::fcff:ffff:feff:ffff/64 Scope:Link
UP BROADCAST RUNNING NOARP MTU:1500 Metric:1
RX packets:175676 errors:0 dropped:0 overruns:0 frame:0
TX packets:2688504 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:246715663 (235.2 MiB) TX bytes:421433732 (401.9 MiB)
vif0.1 Link encap:Ethernet HWaddr FE:FF:FF:FF:FF:FF
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:0
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
vif0.2 Link encap:Ethernet HWaddr FE:FF:FF:FF:FF:FF
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:0
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
vif0.3 Link encap:Ethernet HWaddr FE:FF:FF:FF:FF:FF
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:0
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
xenbr0 Link encap:Ethernet HWaddr FE:FF:FF:FF:FF:FF
UP BROADCAST RUNNING NOARP MTU:1500 Metric:1
RX packets:2493252 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:358672815 (342.0 MiB) TX bytes:0 (0.0 b)
- hostname
[root@localhost ~]# hostname localhost.localdomain
ネットワーク系の設定ファイルの現状把握、確認
Googles様に聴いたら、下のページを発見。
http://www.ysd.bne.jp/linux/network.html
http://park15.wakwak.com/~unixlife/linux/net-ip.html
よさげです。読んだところ以下のファイルが重要なようです。
一つ一つ見ていきましょう。
デバイス(NIC)ごとの設定(/etc/sysconfig/network-scripts/ifcfg-eth0)
デバイスはeth0を使っているので、確認する。
- 修正前
[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0 # Intel Corporation 82546EB Gigabit Ethernet Controller (Copper) DEVICE=eth0 BOOTPROTO=static #HWADDR=00:04:23:64:97:92 BROADCAST=10.20.138.255 IPADDR=10.20.138.13 NETMASK=255.0.0.0 NETWORK=10.20.138.0 GATEWAY=10.20.138.254 ONBOOT=yes TYPE=Ethernet [root@localhost ~]#
HWADDRがコメントアウトされている。HWADDRは"HardWare address"、つまりMACアドレスということだ。
たしかに、ifconfigで見た時に、eth0のところに同じようにかいてある。
コメントアウトしてある意味も見当たらないので、コメントアウトを外した。
- 修正後のファイル
[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
# Intel Corporation 82546EB Gigabit Ethernet Controller (Copper)
DEVICE=eth0
BOOTPROTO=static
HWADDR=00:04:23:64:97:92
BROADCAST=10.20.138.255
IPADDR=10.20.138.13
NETMASK=255.0.0.0
NETWORK=10.20.138.0
GATEWAY=10.20.138.254
ONBOOT=yes
TYPE=Ethernet
[root@localhost ~]#
しかし、デフォルトゲートウェイが設定が反映していない。
LAN内のデフォルトゲートウェイは 10.20.138.254 は間違っていない。
[root@localhost ~]# route -v Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 169.254.0.0 * 255.255.0.0 U 0 0 0 eth0 10.0.0.0 * 255.0.0.0 U 0 0 0 eth0
ここに表示されなくても、/etc/sysconfig/network-scripts/ifcfg-eth0 に書いてあればおkなのか?
確認してみよう。
[root@localhost ~]# ping 64.233.167.99 connect: Network is unreachable [root@localhost ~]#
これって、外にいけてないってことですよね。。。
もし、LAN内に設置してあるDNSを利用して、IPを取得出来ても、アクセスできないってことですよね。。。違う?
デフォルトゲートウェイを設定する
[root@localhost ~]# route add default gw 10.20.138.254 [root@localhost ~]#
テストしてみる。
[root@localhost ~]# ping 64.233.167.99 PING 64.233.167.99 (64.233.167.99) 56(84) bytes of data. 64 bytes from 64.233.167.99: icmp_seq=1 ttl=241 time=137 ms 64 bytes from 64.233.167.99: icmp_seq=2 ttl=241 time=138 ms --- 64.233.167.99 ping statistics --- 2 packets transmitted, 2 received, 0% packet loss, time 999ms rtt min/avg/max/mdev = 137.785/138.359/138.933/0.574 ms [root@localhost ~]#
帰ってくるようになった。
[root@localhost ~]# route -v Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 169.254.0.0 * 255.255.0.0 U 0 0 0 eth0 10.0.0.0 * 255.0.0.0 U 0 0 0 eth0 default 10.20.138.254 0.0.0.0 UG 0 0 0 eth0 [root@localhost ~]#
route にも表示されている。
しかし、これは一時的な設定だから、サーバー再起動後にまたやらないといけない。
ヒントは、 /etc/sysconfig/network にありそうだ。
ネットワーク全体の設定(/etc/sysconfig/network)
- 修正前
[root@localhost ~]# cat /etc/sysconfig/network NETWORKING=yes NETWORKING_IPV6=yes HOSTNAME=localhost.localdomain GATEWAY=10.20.138.254
現在設定されていないのが、 「GATEWAYDEV」 と「DOMAINNAME」だが、設定する必要はあるのか?
- DOMAINNAME
省略可。LAN内のサーバーなのでドメインはつけていないのでない。書かないことにした。
- GATEWAYDEV
省略可。しかし、
こちらに、
>GATEWAYDEV=<value>、ここで、 <value> は eth0 などのゲートウェイデバイスです。
また、こちらに、
> GATEWAYを有効にするインターフェースを指定する場合は、以下のように記入します。
とかいてあるので、GATEWAYDEV=eth0 を追記することにした。
- 修正後
[root@localhost ~]# cat /etc/sysconfig/network NETWORKING=yes NETWORKING_IPV6=yes HOSTNAME=localhost.localdomain GATEWAY=10.20.138.254 GATEWAYDEV=eth0
[root@localhost ~]# /etc/init.d/network restart
インターフェース eth0 を終了中: RTNETLINK answers: Network is unreachable
[ OK ]
ループバックインターフェースを終了中 [ OK ]
ループバックインターフェイスを呼び込み中 [ OK ]
インターフェース eth0 を活性化中: [ OK ]
[root@localhost ~]#
特に問題なし。
これで、サーバー再起動後もデフォルトゲートウェイが設定されるはず。
こちらに、
ぷらっとホーム - サポート - 技術情報 - OpenBlockS - ネットワークの設定
>上位のDHCPサーバによりアドレスを割り当てられている場合。 「GATEWAY」と「GATEWAYDEV」はDHCPにより設定されるので空白にして下さい。
つまり、今回の例はDHCPではなく、固定のIPを持っていたため、「GATEWAY」と「GATEWAYDEV」を設定しないとデフォルトゲートウェイが再起動時に反映しなかったのですね。
購入: 39人 クリック: 385回
- 18 http://www.google.co.jp/search?hl=ja&client=firefox-a&rls=org.mozilla:ja:official&hs=E25&q=checkbox+rails&btnG=検索&lr=lang_ja
- 17 http://d.hatena.ne.jp/japanrock/
- 17 http://www.google.co.jp/search?sourceid=navclient&hl=ja&ie=UTF-8&rlz=1T4DAJP_jaJP274JP274&q=softbank+シュミレータ
- 9 http://www.google.com/search?hl=ja&lr=lang_ja&ie=UTF-8&oe=UTF-8&q=htaccess+mime+ruby&num=50
- 7 http://twitter.com/japanrock
- 7 http://www.google.co.jp/search?sourceid=navclient&aq=t&hl=ja&ie=UTF-8&rlz=1T4ADBR_jaJP274JP275&q=MySQL+外部キー
- 5 http://synth.jp/pg/
- 5 http://www.google.co.jp/search?hl=ja&client=firefox-a&channel=s&rls=org.mozilla:ja:official&hs=H2k&q=英単語 複数形にする&btnG=検索&lr=
- 4 http://www.google.co.jp/search?hl=ja&lr=lang_ja&client=firefox-a&rls=org.mozilla:ja:official&hs=sm&q=PCRE+rpm&start=10&sa=N
- 4 http://www.google.co.jp/search?hl=ja&q=postgres+log&lr=


