研究室や会社など,すでにLAN(Local Area Network)が組んであるところにLinuxマシンを加える設定のメモです.まず,LAN接続に必要な以下の情報を管理者から聞き出します. - IPアドレス - ネットマスク - ゲートウェイアドレス - DNSサーバアドレス これらの情報をしかるべきファイルに書き込み,ネットワーク接続を再起動させれば設定完了です.その方法には + netconfigを使う方法 + 設定ファイルを直接編集する方法 の二通りが代表的です.ここでは両方紹介しますが,どちらかの方法で設定すればいいです. * 方法1:netconfigを使う [#lb47d240] $ su - でrootになって # netconfig とタイプします.すると #ref(fig1.png,nolink) という画面になるので,Enterキーを押します.つぎの画面でIPアドレス,ネットマスク,ゲートウェイアドレス,DNSサーバアドレスを設定します. #ref(fig2.png,nolink) 項目間の移動にはTabキーを使います.入力が済んだらOKの所までTabで移動してEnterを押せば完了です.このページ下の ネットワーク接続の再起動 に進んでください. * 方法2:設定ファイルを直接編集する [#ffc69d55] 設定ファイルを直接編集する方法を説明します.スクリプトなどで処理を自動化した場合はこちらの方法が便利です.そちらのほうが潰しがきくので.なお,以下のファイルを編集するには $ su - としてrootになっておく必要があります. ** IPアドレス [#kc6ebd8c] IPアドレスはネットワークインターフェイスカード(以下NICと表記:LANカード,イーサネットカード,ネットワークカードということもあります)ごとに用意されている設定ファイル /etc/sysconfig/network-scripts/ifcfg-eth0 に書きこみます.通常イーサネットカードは1枚ですが,パソコンにカードを追加するとeth0,eth1,eth2,…とファイルも増えていきます.カードが1枚ならファイル名はeth0,それ以上あるなら対応ファイルにつぎのようにIPアドレスを書きこみます. DEVICE=eth0 ONBOOT=yes BOOTPROTO=static IPADDR=xxx.xxx.xxx.xxx ここで DEVICE はNICの名前で,いまはeth0です. ONBOOTは起動時にネットワーク接続を有効にするかどうかで,いはまyesにしています. BOOTPROTOは固定IPアドレス(static)かDHCPかのどちらかです.いまは固定IPを設定してるのでstaticです. IPADDRに固定IPアドレスを書きます. ** ネットマスク [#u2bc143e] IPアドレスを設定したファイルに追加します. DEVICE=eth0 ONBOOT=yes BOOTPROTO=static IPADDR=xxx.xxx.xxx.xxx NETMASK=xxx.xxx.xxx.xxx NETMASKのところにネットマスクのIPアドレスを書きます. ** ゲートウェイ [#f92f9b89] IPアドレスを設定したファイルに追加します. DEVICE=eth0 ONBOOT=yes BOOTPROTO=static IPADDR=xxx.xxx.xxx.xxx NETMASK=xxx.xxx.xxx.xxx GATEWAY=xxx.xxx.xxx.xxx GATEWAYのところにゲートウェイアドレスを書きます.ゲートウェイアドレスとはルータのIPアドレスのことです. ** DNSアドレス [#k8a707be] DNSサーバアドレスとはhttp://www.google.comのようなURLなどをIPアドレスに変換するサーバのIPアドレスのことです.設定ファイルは /etc/resolv.conf です.以下のように書きこみます. nameserver xxx.xxx.xxx.xxx nameserver xxx.xxx.xxx.xxx 上から順にプライマリDNSサーバ,セカンダリDNSサーバのアドレスを書きます.以上で設定完了です.ネットワーク接続の再起動に進んでください. * ネットワーク接続の再起動 [#bf84c279] netconfigを使う方法か設定ファイルを直接編集する方法で設定が済んだら,設定を有効にするためにネットワーク接続の再起動が必要です.それには # /etc/rc.d/init.d/network restart とコマンドを打ちます.また,ネットワーク接続を停止するにはrestartの部分をstop,起動するにはstartとします. ** 確認 [#o2f6eab6] さて,ちゃんとネットワークにつながっているでしょうか.ifconfigで設定が反映されているか確認してみます. # ifconfig とするとつぎのように表示されます. eth0 リンク方法:イーサーネット ハードウェアアドレス xx:xx:xx:xx:xx:xx inetアドレス:xxx.xxx.xxx.xxx ブロードキャスト:xxx.xxx.xxx.xxx マスク:xxx.xxx.xxx.xxx UP BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:4 errors:0 dropped:0 overruns:0 carrier:0 衝突(Collisions):0 TXキュー長:100 RX bytes:0 (0.0 b) TX bytes:168 (168.0 b) 割り込み:9 ベースアドレス:0x5000 lo リンク方法:ローカルループバック inetアドレス:127.0.0.1マスク:255.0.0.0 UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:929 errors:0 dropped:0 overruns:0 frame:0 TX packets:929 errors:0 dropped:0 overruns:0 carrier:0 衝突(Collisions):0 TXキュー長:0 RX bytes:57542 (56.1 Kb) TX bytes:57542 (56.1 Kb) inetアドレス:がIPアドレス,マスク:がネットマスク,ブロードキャスト:はゲートウェイとネットマスクから計算される値です.それぞれ正しい値で埋まっているかどうか確認します.つぎに,ping(ピン)コマンドで自分自身にパケットを飛ばしてみます. $ ping 自分自身のIPアドレス とすると,つぎのようなメッセージがどんどん出てきます(これはlocalhostにpingしています.実際には割り当てられたIPアドレスにpingしてください). PING 127.0.0.1 (127.0.0.1) 送信元 127.0.0.1 : 56(84) bytes of data. 64 バイト応答 送信元 127.0.0.1: icmp_seq=0 ttl=64 時間=111 マイクロ秒 64 バイト応答 送信元 127.0.0.1: icmp_seq=1 ttl=64 時間=58 マイクロ秒 64 バイト応答 送信元 127.0.0.1: icmp_seq=2 ttl=64 時間=58 マイクロ秒 64 バイト応答 送信元 127.0.0.1: icmp_seq=3 ttl=64 時間=58 マイクロ秒 pingを中断するには Ctrl + C を押します.その後 --- 127.0.0.1 ping 統計 --- 送信パケット数 5, 受信パケット数 5, パケット損失 0% Round-Trip 最小/平均/最大/mdev = 0.055/0.068/0.111/0.021ミリ秒 のようにパケット損失 0% となればちゃんと動いています. つぎに,ゲートウェイアドレスにpingしてみます.もしもパケットが帰ってこなかったらゲートウェイドレス,もしくはネットマスクが間違っている可能性が高いです.それがうまく行ったら今度はwww.google.comなどの数字ではないアドレスにpingコマンドでパケットを飛ばしてみます.うまくいかなかったらDNSサーバの設定がまずいです.ここまでで問題なければ,メールやWebブラウジングなどが行えるはずです. ** 失敗談 [#d78b70d7] 昔,Vine Linuxをインストールした自分のノートパソコンを研究室のLANに参加させようとしたところ,ちゃんと設定をしたと思ってもネットに繋がらず悩んでしまいました.結局はネットマスクが違っていただけでしたが,研究室のWindowsマシンは間違ったネットマスクでも繋がっていたので気付くのが送れてしまいました.