This is Gentoo's testing wiki. It is a non-operational environment and its textual content is outdated.
Please visit our production wiki at https://wiki.gentoo.org
ネットワーク設定
ネットワークの自動検出
動いているかも?
もしあなたのシステムが、DHCPサーバを持つEthernetネットワークに接続されているなら、おそらく既にネットワーク設定は自動的に完了しているでしょう。その場合には、ssh、scp、ping、irssi、wget、linksなど、インストールCDに含まれるネットワーク接続が必要な多くのコマンドはすぐに使うことができるでしょう。
インターフェース名を決定する
ifconfig コマンド
ネットワークが設定されているならば、ifconfigコマンドで、lo以外のネットワークインターフェースを一覧表示できるはずです。次の例ではeth0が見えています:
root #
ifconfig
eth0 Link encap:Ethernet HWaddr 00:50:BA:8F:61:7A inet addr:192.168.0.2 Bcast:192.168.0.255 Mask:255.255.255.0 inet6 addr: fe80::50:ba8f:617a/10 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:1498792 errors:0 dropped:0 overruns:0 frame:0 TX packets:1284980 errors:0 dropped:0 overruns:0 carrier:0 collisions:1984 txqueuelen:100 RX bytes:485691215 (463.1 Mb) TX bytes:123951388 (118.2 Mb) Interrupt:11 Base address:0xe800
predictable network interface namesへ移行した結果、システム上のインターフェース名は古い命名規則によるeth0とはかなり違うものになっているかもしれません。最近のインストールメディアはeno0やens1やenp5s0など、命名規則に則ったネットワークインターフェース名を表示するかもれません。ifconfigの出力から、あなたのローカルネットワーク上のIPアドレスが設定されたインターフェースを探してください。
標準の ifconfig コマンドを使ってインターフェースが表示されないなら、同コマンドを
-a
オプション付きで使ってみてください。このオプションは、システムが検出したすべてのネットワークインターフェースを、その状態が up であるか down であるかに関わらず、強制的に表示させます。ifconfig -a が何の効果もないのなら、ハードウェアに問題があるか、そのインターフェースのためのドライバがカーネルにロードされていないかです。どちらの状況も、このハンドブックの対象範囲を外れています。#gentoo に助けを求めてください。ip コマンド
ifconfig の代替として、インターフェース名を決定するために ip コマンドが使えます。次の例に ip addr の出力を示します。別のシステムでの出力なので、表示される情報は前の例とは異なっています:
root #
ip addr
2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether e8:40:f2:ac:25:7a brd ff:ff:ff:ff:ff:ff inet 10.0.20.77/22 brd 10.0.23.255 scope global eno1 valid_lft forever preferred_lft forever inet6 fe80::ea40:f2ff:feac:257a/64 scope link valid_lft forever preferred_lft forever
この出力結果はさっきより少し分かりづらいかもしれません。この例でのインターフェース名は、番号のすぐ後ろに続いている、eno1 です。
以降、このドキュメントでは、扱っているネットワークインターフェース名はeth0であると仮定します。
追加可能: プロキシを設定する
プロキシを経由してインターネットにつなぐ場合には、インストール作業の中でプロキシ情報を設定する必要があります。プロキシを設定するのはとても簡単です:プロキシサーバ情報を変数に設定するだけです。
ほとんどの場合、プロキシサーバのホスト名を設定するだけで十分です。例えば、ホスト名はproxy.gentoo.org、ポート番号は8080であるとしましょう。
HTTPプロキシ(HTTPとHTTPS通信のため)を設定するには:
root #
export http_proxy="http://proxy.gentoo.org:8080"
FTPプロキシを設定するには:
root #
export ftp_proxy="ftp://proxy.gentoo.org:8080"
RSYNCプロキシを設定するには:
root #
export RSYNC_PROXY="proxy.gentoo.org:8080"
ユーザ名とパスワードが必要ならば、次の構文で変数を設定します:
ネットワークのテスト
あなたのISPのDNSサーバ(/etc/resolv.confで見つかります)と、好きなウェブサイトへのpingを試してみましょう。これにより、ネットワークが正常に機能しているか、ネットワークパケットがインターネットに到達できるか、DNS名前解決が正常に機能しているか、等のことを確認できます。
root #
ping -c 3 www.gentoo.org
これがすべてうまくいくのなら、この章の残りの部分を読み飛ばして、インストールマニュアルの次のステップ(ディスクの準備)へ進むことができます。
自動でのネットワーク設定
起動しただけではネットワークが使えない場合は、インストールメディアにnet-setup(通常のネットワークや無線ネットワーク用)や、pppoe-setup(ADSL用)や、pptp (PPTP用)などのツールが含まれているなら、それらを使って設定できます。
お使いのインストールメディアがこれらのツールを含んでいない場合は、#手動でのネットワーク設定へ進んでください。
- 通常のEthernetユーザはデフォルト: net-setupを使うへ
- ADSLユーザは代替案: PPPを使うへ
- PPTPユーザは代替案: PPTPを使うへ
デフォルト: net-setupを使う
ネットワークが自動で設定されなかった場合に、ネットワークを設定するための最も簡単な方法がnet-setupスクリプトを実行することです:
root #
net-setup eth0
net-setupはあなたのネットワーク環境について、いくつかの質問をします。すべてに答えると、ネットワーク接続が使えるようになるはずです。上に書いた方法でネットワークをテストしてください。すべてのテストをパスできたなら、おめでとうございます! この章の残りを飛ばしてディスクの準備へ進みましょう。
それでもネットワークが使えない場合は、#手動でのネットワーク設定へ進んでください。
代替案: PPPを使う
インターネットへの接続にPPPoEが必要なら、インストールCD(どのバージョンでも可)に含まれるpppが設定を楽にしてくれます。提供されるpppoe-setupスクリプトを使ってネットワークを設定しましょう。セットアップ中には、ADSLモデムに接続されたEthernetデバイスの名前、ユーザ名とパスワード、DNSサーバのIPアドレス、基本的なファイアウォールが必要かどうかが聞かれます。
root #
pppoe-setup
root #
pppoe-start
何かがおかしいときは、etc/ppp/pap-secretsまたは/etc/ppp/chap-secretsを見てユーザ名とパスワードが正しいかダブルチェックしてください。加えて、正しいEthernetデバイスを使っているか確認してください。もしEthernetデバイスが無い場合は、適切なネットワークモジュールをロードする必要があります。そのような場合には手動でのネットワーク設定へ進んでください。そこで適切なネットワークモジュールをロードする方法を説明します。
すべてうまくいったら、ディスクの準備へ進みましょう。
代替案: PPTPを使う
PPTPサポートが必要なら、インストールCDが提供するpptpclientを使ってください。でもその前に、設定が正しいか確認してください。/etc/ppp/pap-secretsまたは/etc/ppp/chap-secretsを編集して、正しいユーザ名/パスワードの組み合わせを設定してください。
root #
nano -w /etc/ppp/chap-secrets
必要ならば/etc/ppp/options.pptpを修正してください:
root #
nano -w /etc/ppp/options.pptp
これが全部終わったら、pptpを(options.pptpで設定できないオプションがあれば、それもいっしょに付けて)実行し、サーバに接続します:
root #
pptp <server ip>
それではディスクの準備へ進みましょう。
手動でのネットワーク設定
適切なネットワークモジュールをロードする
インストールCDの起動時に、インストールCDはすべてのハードウェアデバイスを検出し、そのハードウェアをサポートする適切なカーネルモジュール(ドライバ)のロードを試みます。ほとんどの場合、この機能はとてもよくやってくれます。しかし稀に、必要なカーネルモジュールが自動でロードされないこともあります。
net-setupまたはpppoe-setupが失敗したという場合、ネットワークカードを起動時に見つけられなかった可能性があります。つまり、ユーザが適切なカーネルモジュールを手動でロードする必要があるかもしれません。
ネットワーク設定のためのカーネルモジュールの一覧を見るには、lsコマンドを使います:
root #
ls /lib/modules/`uname -r`/kernel/drivers/net
お使いのネットワークデバイスのためのドライバがあった場合は、modprobeでカーネルモジュールをロードしましょう。例えば、pcnet32モジュールをロードするには:
root #
modprobe pcnet32
ネットワークカードが検出されているかどうかチェックするには、ifconfigを使います。ネットワークカードが検出されていれば、以下のように表示されるでしょう(繰り返しますが、ここでのeth0は一例です):
root #
ifconfig eth0
eth0 Link encap:Ethernet HWaddr FE:FD:00:00:00:00 BROADCAST NOARP 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)
しかし次のようなエラーが表示される場合、ネットワークカードは検出されていません:
root #
ifconfig eth0
eth0: error fetching interface information: Device not found
現在のシステムで利用可能なネットワークインターフェース名は、/sysファイルシステムを通して一覧表示できます:
root #
ls /sys/class/net
dummy0 eth0 lo sit0 tap0 wlan0
上の例では、6個のインターフェースが見つかっています。eth0がおそらく(有線の)Ethernetアダプタで、wlan0は無線のアダプタです。
ネットワークカードがこれで検出できたとして、net-setupまたはpppoe-setupをもう一度試してください(今度はうまくいくはずです)。しかし上級者のために、手動でのネットワーク設定についても説明していきます。
あなたのネットワーク構成に応じて、次の節のうちからひとつを選んでください:
- 自動でIPを取得するためにDHCPを使う
- 無線ネットワークを使用するために無線接続を準備する
- ネットワーク用語を理解するではネットワーク接続の基礎を説明します
- ifconfigとrouteを使うではネットワーク接続を手動で設定する方法を説明します
DHCPを使う
DHCP (Dynamic Host Configuration Protocol) を使うと、自動でネットワーク接続情報(IPアドレス、ネットマスク、ブロードキャストアドレス、ゲートウェイ、ネームサーバ、等)を受信することができます。この機能は、DHCPサーバがネットワーク内に存在しないと(または、ISPがDHCPサービスを提供していないと)動作しません。ネットワークインターフェースに接続情報を自動で受信させるようにするには、dhcpcdを使います:
root #
dhcpcd eth0
DHCPサーバが提供するホスト名とドメイン名をシステムで使うようにと、ネットワーク管理者から要求されている場合もあるでしょう。そのような場合には:
root #
dhcpcd -HD eth0
これが動作すれば(インターネット上のサーバ、例えばGoogleに、pingしてみましょう)、設定は完了です。次に進む準備ができました。この節の残りの部分を飛ばして、ディスクの準備に進みましょう。
無線接続を準備する
iwコマンドの対応状況はアーキテクチャによって異なるかもしれません。このコマンドが使えない場合は、net-wireless/iwパッケージが作業中のアーキテクチャにおいて利用可能であるか確かめてください。net-wireless/iwパッケージがインストールされていないと、iwコマンドを使用することはできないでしょう。
無線(802.11)カードを使っている場合には、まず第一に無線の設定をする必要があります。無線カードの現在の設定を確認するためには、iwを使うことができます。iwはこのようなものを表示するでしょう:
root #
iw dev wlp9s0 info
Interface wlp9s0 ifindex 3 wdev 0x1 addr 00:00:00:00:00:00 type managed wiphy 0 channel 11 (2462 MHz), width: 20 MHz (no HT), center1: 2462 MHz txpower 30.00 dBm
現在の接続を確認するには:
root #
iw dev wlp9s0 link
Not connected.
または
root #
iw dev wlp9s0 link
Connected to 00:00:00:00:00:00 (on wlp9s0) SSID: GentooNode freq: 2462 RX: 3279 bytes (25 packets) TX: 1049 bytes (7 packets) signal: -23 dBm tx bitrate: 1.0 MBit/s
無線カードのデバイス名は、wlp9s0の代わりにwlan0またはra0のような名前かもしれません。正しいデバイス名を調べるには、ip linkを実行してください。
ほとんどのユーザにとって、接続するのに必要な設定は、ESSID(無線ネットワーク名とも言います)と、場合によってはWEPキー、この2つだけです。
- まず、インターフェースがアクティブになっていることを確認してください:
root #
ip link set dev wlp9s0 up
- GentooNodeという名前のオープンネットワークに接続するには:
root #
iw dev wlp9s0 connect -w GentooNode
- 16進WEPキーを使って接続するには、キーの前に
d:
を付けてください:
root #
iw dev wlp9s0 connect -w GentooNode key 0:d:1234123412341234abcd
- ASCII WEPキーで接続するには:
root #
iw dev wlp9s0 connect -w GentooNode key 0:some-password
無線ネットワークがWPAまたはWPA2で設定されている場合には、wpa_supplicantを使う必要があります。Gentoo Linuxでのネットワーク設定のさらなる情報については、Gentooハンドブックの無線ネットワークの章を読んでください。
iw dev wlp9s0 linkを使って、無線の設定ができたか確認してください。無線が機能したら、次節(ネットワーク用語を理解する)に示す、IPレベルのネットワークオプションの設定に進むか、先に示したnet-setupツールを使ってください。
ネットワーク用語を理解する
IPアドレス、ブロードキャストアドレス、ネットマスクやネームサーバーのことを知っているなら、このサブセクションを飛ばして ifconfigとrouteを使うに進んでください。
もし上記のすべてが失敗したら、ネットワークは手動で設定される必要があります。これは少しも難しくありませんが、幾ばくかのネットワーク用語と基礎的な概念の知識は必要でしょう。この章を読んだあとには、ユーザーはゲートウェイが何で、ネットマスクがなんの役に立っていて、ブロードキャストアドレスがどのように作られてなぜシステムがネームサーバーを必要とするのかがわかるでしょう。
ネットワーク内部では、ホストはIPアドレス(インターネットプロトコルアドレス)によって識別されます。少なくともIPv4 (IP バージョン4)を使うときは、そのようなアドレスは0から255の間の4つの数字の組み合わせです。実際は、IPv4アドレスは32ビット(0と1の集合)からできています。例をみてみましょう。
IP Address (数字): 192.168.0.2 IP Address (ビット): 11000000 10101000 00000000 00000010 -------- -------- -------- -------- 192 168 0 2
IPv4の後継であるIPv6は128ビット(0と1の集合)を使っています。この章ではIPv4アドレスに焦点を合わせています。
そのようなIPアドレスはすべての接続可能なネットワークが関わっている範囲で一意に定まっています。つまり到達可能でありたいホストはどれも、唯一なIPアドレスを持たなければならないということです。ネットワークの内部と外部を区別するために、IPアドレスはネットワーク部とホスト部の2つの部分に分かれています。
0の並びのあとに1の並びが続くネットマスクによって、その分かれ目は記録されています。1が位置しているIPの部分はネットワーク部で、そうでない部分はホスト部です。普通は、ネットマスクはIPアドレスとして記録されるでしょう。
IP address: 192 168 0 2 11000000 10101000 00000000 00000010 Netmask: 11111111 11111111 11111111 00000000 255 255 255 0 +--------------------------+--------+ Network Host
言い換えると、192.168.0.14は例のネットワークの一部ですが、192.168.1.2はそうではありません。
ブロードキャストアドレスは、ネットワークと同じネットワーク部を持ち、ホスト部がすべて1であるようなIPアドレスです。同じネットワーク上にあるすべてのホストは、このIPアドレスで通信を受けられます。このアドレスは、パケットをブロードキャストするためだけに存在します。
IP address: 192 168 0 2 11000000 10101000 00000000 00000010 Broadcast: 11000000 10101000 00000000 11111111 192 168 0 255 +--------------------------+--------+ Network Host
インターネットに接続するためには、ネットワーク内のそれぞれのコンピュータは、どのホストがインターネット接続を共有してくれるのかを知っている必要があります。そのようなホストをゲートウェイといいます。ゲートウェイも普通のホストなので、普通のIPアドレスを持っています(例: 192.168.0.1)。
最初に、すべてのホストは一意にIPアドレスを持つと書きました。ホストを(IPアドレスの代わりに)名前で指定できるようにするためには、名前(例: dev.gentoo.org)をIPアドレス(例: 64.5.62.82)に変換するサービスが必要になります。このようなサービスを「ネームサービス」といいます。ネームサービスを利用するには、ネームサーバを/etc/resolv.conf内に定義しておく必要があります。
ゲートウェイがネームサーバを兼ねていることもあります。そうでない場合には、ISPが提供するネームサーバをこのファイルに書く必要があります。
まとめると、続けるには次の情報が必要になります:
ネットワーク設定項目 | 例 |
---|---|
システムのIPアドレス | 192.168.0.2 |
ネットマスク | 255.255.255.0 |
ブロードキャスト | 192.168.0.255 |
ゲートウェイ | 192.168.0.1 |
ネームサーバ | 195.130.130.5, 195.130.130.133 |
ifconfigとrouteを使う
3つのステップでネットワークの設定ができます。
- ifconfigを使ってIPアドレスを割り当てる
- routeを使ってゲートウェイへのルーティングを設定する
- ネームサーバのIPアドレスを/etc/resolv.confに書いて完了
IPアドレスを割り当てるには、IPアドレス、ブロードキャストアドレス、ネットマスクの情報が必要になります。${IP_ADDR}を正しいIPアドレスに、${BROADCAST}を正しいブロードキャストアドレスに、${NETMASK}を正しいネットマスクに置き換えて、次のコマンドを実行してください:
root #
ifconfig eth0 ${IP_ADDR} broadcast ${BROADCAST} netmask ${NETMASK} up
routeを使ってルーティングの設定を行います。${GATEWAY}を正しいゲートウェイのIPアドレスに置き換えてください:
root #
route add default gw ${GATEWAY}
/etc/resolv.confを開いてください:
root #
nano -w /etc/resolv.conf
次のテンプレートを使って、ネームサーバの情報を入力してください。${NAMESERVER1}や${NAMESERVER2}は正しいネームサーバのアドレスに置き換えてください:
nameserver ${NAMESERVER1} nameserver ${NAMESERVER2}
これで終わりです。インターネット上のサーバ(Googleなど)にpingをして、ネットワークのテストを行ってください。うまくいったなら、おめでとうございます。ディスクの準備へ進んでください。