基本的に、ifconfig(IPアドレスなどネットワークの低水準の設定)、netstat(TCP/UDPパケットの統計表示)、route(ルーティングテーブルの設定)、top(タスクのモニタリング)、vmstat(仮想メモリの状況表示)、iostat(I/Oデバイスの状況表示)は覚えておこう。
ほかにもいろいろとあるからネットで検索してほしい。traceroute(接続経路を表示), nslookupとdig(名前解決), arp(IPアドレスとMACアドレスの対照表であるARPテーブルを表示。IPアドレスはパケットの送受信のアドレスだが、MACアドレスはそれぞれのハードウェアデバイス機器の識別番号)は覚えておいて損はない。
また、ifconfigは低レベルな設定ができるが、使いやすいもっと高レベルなツールやシステムが使われていることが多い。Red Hatならsysconfig、Debianならifupdown。ただし、最近はNetworkManagerを使うことがどちらのディストリビューションでも推奨されている。
ifconfigやnetstatは現在型遅れになりつつあり、今では新しいiproute2パッケージのipとかssコマンドを使えと言われ始めている。
また、ファイアーウォールについては基本的にiptablesを使う。ファイアーウォールでパケットフィルタリングをすることで、不正な通信をブロックできる。他にも、VPNというインターネット回線を使って仮想的な専用のネットワーク(たとえば社内の専用回線的なネットワーク)を作ることのできる技術もある。トンネリングという送信者と受信者をほかから見えないトンネルで繋ぐ技術もある。
そもそも、インターネットはそれぞれのネットワークが家庭やISPのルータによってつながったもの。
それぞれのルータの接続情報を代表ルータが集約し、ルーティングテーブルという経路表を作り出し、その経路表を全ルータに送る。
パケットのIPアドレスがローカルの中であれば、そのコンピュータにパケットを送信する。外部のものであれば、ルータはどこに送れば宛先に近づけるかを知っているので、ネットワークの外部のルータにそのパケットを送る。
IPアドレスは、そのホストのインターネット上の住所(アドレス)で、パケットの送受信先である。このIPアドレスは、ネットワーク部とホスト部に分かれている。
たとえば、IPアドレスが192.168.0.2である時、これをビットにすると、
11000000 10101000 00000000 00000010
となる。
ネットワーク部とホスト部を識別するために、サブネットマスクを使う。サブネットマスクは、ネットワーク部を1とし、ホスト部を0にしたアドレスのこと。
よって、
11111111 11111111 11111111 00000000
であれば、サブネットマスクは255.255.255.0となる。
また、それぞれのホストのネットワークを共有してくれるアドレス(たとえばルータ)をゲートウェイと言う。
サブネットマスクだけではなく、ブロードキャストアドレスを指定することもある。ブロードキャストアドレスは、パケットをブロードキャストするためだけに存在する。これはネットワーク部と同じアドレスを持ち、ホスト部が1となるアドレスとなる。上記の例では、192.168.0.255となる。
最後に、名前解決がある。このようなビット数値によるアドレスは、機械にとっては理解しやすいが、人間にとっては理解しづらい。そのため、人間に分かりやすい名前(hogehoge.co.jpのような)をつける。ここで、hogehogeの部分をホスト名、co.jpの部分をドメインと呼び、ホスト名は自由につけられる。
名前解決をしてくれるのはDNSという仕組みを用いたネームサーバ。ルータが兼ねていることもあるが、そうでなければISPの指定するネームサーバのアドレスを指定する。ネームサーバは/etc/resolv.confに記述する。DNSを含めてあらゆる名前解決をするソフトウェアのことを「リゾルバ」と呼ぶ。
ルータを用いて家庭内ネットワークを構築する際、静的にIPアドレスを与える(たとえば192.168.0.11ならば11の部分を手動で決める)こともできるが、DHCPを用いれば動的に自動で与えることもできる。DHCPを用いる場合、ネットワーク設定にはDHCPを用いることを指定するだけでよく、管理は楽になるが、IPアドレスがたまに変化することがあり、サーバを公開する場合には向いていない。もし、DHCP環境でサーバを公開する場合、ダイナミックDNSという仕組みを使って、IPアドレスがもし変わった場合はそれを定期的にDNSサーバに通知することができる。
32ビットのIPアドレスが表せるIPv4に比べて、IPv6では128ビットのIPアドレスが表せる。IPv6では石ころにすらIPアドレスがふれるぐらい、多くのアドレスが有り余っているとされる。
mii-tool や ethtool を使ってください。
[root@localhost]# ethtool eth0
現在の状態を確認。
[root@localhost]# ethtool -s eth0 duplex full
注意: この手のツールは、モジュールにオプションを渡しているだけである。 そのオプションをカーネルが認識したかどうかは不明である。 ドライバによってはツールでの変更が出来ないものもある。 また、システムの再起動時には設定がクリアされるため 恒常的に変更したいのであれば、マニュアルファイルを読むべきである。
最近は(有線の)LAN 接続よりも、無線 LAN の導入に関心が集まっています。この問題が主因でクライアントのパソコンに Linux の導入をためらっている方もいるかも知れませんので、参考情報を載せておきます。(追加情報があれば、お願いします。)
orinoco_cs などで対応しているチップを採用した無線LANカードを入手するのが無難でしょう。例えば、次の無線LANカード製品は CentOS 3/4、Debian 3.1/4.0、Fedora Core 1、MEPIS、Mandriva、Red Hat Linux 9 を始めとした多くのディストリビューションで自動認識されるようです。
Buffalo: WLI-PCM-L11, WLI-PCM-L11G, WLI-PCM-L11GP (旧製品。ただし店舗によっては在庫がある模様、また探せば中古品が入手可能)
Vine Linux の場合も、上記 Buffalo (旧 Melco) のカードは使えますが、設定が多少ややこしいので詳しくは Vine Linux の該当項目を見てください。
最近のノートブックでは、無線LANカード(PCカード規格)専用の接続端子が標準でついていないケースが増えています。その場合は、USB 2.0 端子へ直接つなぐタイプの無線子機を検討しても良いでしょう。ただし対応可能な機種が限られるので、事前調査が必要です。
デスクトップ型PCでは、よく一般に売られているPCカード規格(PCMCIA)に対応した無線LANカードの利用は、専用の接続端子が標準でついていないためできない場合があります。 この場合の対処としては、次のような方法が考えられます。
この種の製品は、国内の主要メーカーから販売されているので、入手は容易です。Webブラウザから設定が可能な機種もあります。
現在発売されている製品の中に、メーカーで Linux をサポートしている製品は見当たらないようですが、OS の違いによる影響はあまり受けないので、動作する可能性が高いと考えられます。
(注1) メーカーによって、接続設定に独自の仕様があると利用できない場合があるので、導入する場合は同一メーカーのアクセスポイントを利用する方が安心できます。
(注2) イーサネット・コンバーターでは、Webブラウザからの設定が可能となっている機種があります。ただし、機種によっては、購入した直後の最初の接続設定を Windows パソコンから行うことになる場合があります。
この場合、OS が自動認識する可能性は低いと思われますので、追加設定が必要かも知れません。
pcmcia サービスが起動する前に network サービスが起動してしまい、PCMCIA のネットワークカードを見つけられないために起こることがあります。起動スクリプトの起動順を変えて対処します。
まず、普段使うランレベル(Red Hat系なら5、Debian系なら2)の rcディレクトリに移動します。例) cd /etc/rc.d/rc5.d/
次にそれぞれの起動の順番を変更します。頭の数字の順番に起動するので、pcmcia が network よりも先に起動するように数字を変えます。(root 権限が必要)
他の起動スクリプトとの兼ね合い上、なるべく早く起動するように network の数字は10前後にしておいたほうが無難です。
これで、次回起動時より、pcmcia(10) → network(11) の順番に起動するようになります。
[追加情報] 新しいノートPCは内蔵の無線LANを装備していますが、下記の情報が入手できればLinux(FedoraCore3で確認)で利用可能です。 % lspci | grep Atheros 02:02.0 Ethernet controller: Atheros Communications, Inc. AR5212 802.11abg NIC (rev 01)
「ワイヤレス接続モニタ」という GNOME 付属のアクセサリーがあります。
デスクトップの下部に表示されるパネル上でマウスを右クリックし、 [パネルに追加] > [インターネット] > [ワイヤレス接続モニタ] を開くと、通知アイコンがパネルに追加されます。
Linux で Toshiba Tecra の内蔵無線LANを使う というページを参考にして、対応ドライバーを組み込み設定してください。
ping -b 192.168.0.255 や arp を使う。
適当なホスト名、ドメイン名をつけてやってください。example.com なんかは実際に使われないことになってるので、おすすめ。
インストール後にホスト名を変更したい場合は ITMedia のホスト名を変更したいを参照のこと。
最近のディストリビューションにはこの記事に出てくる linuxconf が収録されていない場合が多い。その場合は設定ファイルを直接編集。
/etc/services ファイルにあります。
root で以下のコマンドを実行すれば調べられます。
参考:
/etc/hosts ファイルに名前を書いておいてください。
192.168.0.2 hoge.hogehoge hoge 192.168.0.3 fuga.hogehoge fuga
Windows のほうの C:¥windows¥hosts (9x系列)、%Systemroot%¥system32¥drivers¥etc¥hosts (NT系列) を同じ書式のファイルを用意すると、どちらからでも逆引きできるよ。
host コマンドを使ってください。dig コマンドも使えます。
うまく行かない場合は /etc/resolv.conf ファイル や DNS の設定を確認してください。
/etc/resolv.conf に DNS サーバを指定していますか?
nameserver 123.456.789.101 nameserver 123.456.789.102
Ctrl+C で止めてください。あるいは -c オプションで回数を事前に指定 ($ ping -c 5 www.yahoo.co.jp など)。
traceroute www.yahoo.co.jp などとしてください。
dhclient コマンドを使います。
$ su # dhclient -r
でIPアドレスを解放し、つづいて再取得します。
# dhclient
アクセスの際に IPv6 で接続しようとするため、アドレス解決に時間がかかっていると考えられます。その結果、ページが表示されるまでの時間がかかり、ネットワーク環境が遅いと感じるのでしょう。
alias net-pf-10 off alias ipv6 offディストリビューションによっては、このファイルを新規に自分で作るので、同名ファイルがない場合があります。
/etc/modutils/aliases が存在している場合には、設定の変更はこのファイルより行います。 /etc/modutils/aliases の次の行のコメントを外します。
# alias net-pf-10 off # IPv6
変更後は次のようになります。
alias net-pf-10 off # IPv6
たとえ /etc/modules.conf と /etc/modprobe.d/aliases が存在しても、それらのファイルは変更せずそのままにしておきます。
net.ipv6.all.disable_ipv6=1
ifconfig コマンドでループパックデバイスを調べてください。
# ifconfig lo
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host ←この行があればIPV6が動作してます
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:46 errors:0 dropped:0 overruns:0 frame:0
TX packets:46 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:3016 (3.0 KB) TX bytes:3016 (3.0 KB)
VMware上にインストールした時、DHCP で IPアドレスを取得する設定にしているとネットワークがリンクアップしていないため起動しません。
以下のファイルを編集します。
[追加]
check_link_down () {
return 1;
}
Vine Linux 3.0 の場合です。[アプリケーション] > [システム・ツール] > [ネットワークの管理] よりネットワークの設定を行えます。2.6 と比較して設定ツールは改善されたようですが、WEP KEY を有効にしている場合にはその設定項目が存在しないため自動接続ができず、設定が正常に完了できません。 そこで、 /etc/sysconfig/network-scripts/ifcfg-eth1 ファイルを適当なエディターで開くと、次のように(一例)記述されているでしょうから、
BOOTPROTO=dhcp ONBOOT=yes USERCTL=yes NAME="無線 LAN カード" DEVICE=eth0 ESSID=********** PEERDNS=yes
さらに次の一行を追加してください。これでたいていは接続できるようになるでしょう。
KEY=s:*************
rp-pppoe パッケージのバグです。
パッケージのインストール時に起動スクリプトの設定は行われるのに終了スクリプトの設定が行われないため、シャットダウンもしくはリブート時に正常に切断がされず、プロバイダ側が異常終了と判断して五分間ぐらい接続を停止するのが原因です。
以下の方法で解決します。
# /sbin/chkconfig --del adsl # /sbin/chkconfig --add adsl
このように一度スクリプトの設定を削除し、追加し直すことで終了時の設定が正常に設定し直されます。
無線LANカードをパソコンのPCカードスロットに差し込んだだけで直ぐに利用できる場合もありますが、カードの稼働ランプが点灯していなければ、無線LANの接続設定を実行する必要があります。
K アイコン(メインメニュー) > KNOPPIX > Network/Internet > ネットワークカードの設定 から接続設定を行ないます。この場合は、「DHCP のブロードキャストを使いますか?」という問いかけで「No」を選択し、ネットワークの各項目を再設定します。
出てくる入力フォームが分からない場合はWINDOWS(XP)で「ワイヤレスネットワークの表示」の「サポート」タブを確認する。
それぞれの問いかけにWINで確認した項目をそれぞれ入力する。
これで多分OK。
あとの不明な項目については「OK」で切り抜けると、自動設定が行なわれます。これで大抵は、ネットワークに接続可能となります。
はい。日付と時刻の調整という設定画面で、「ネットワークタイムプロトコルを有効にする」という項目にチェックを入れます。 Red Hat Linux 9 や Fedora Core ではあらかじめ登録された中から選択するだけですが、WBEL では空欄となっているので明示的に指定する必要があります。
ntp.ring.gr.jp (Ring Server Project の NTP サーバによる国内サービス)
time.nist.gov (National Institute of Standards and Technology- 米国標準技術局の運営)
これらはその一例です。