ハンドブック:PPC64/インストール/ネットワーク
ネットワークの自動構成
もしかすると、もう機能していますか?
もしあなたのシステムが、IPv6 ルータか DHCP サーバを持つ Ethernet ネットワークに接続されているなら、おそらくシステムのネットワークは自動的に構成されているでしょう。追加の高度な構成が必要でない場合は、インターネット接続をテストすることができます。
DHCP を使う
DHCP (Dynamic Host Configuration Protocol) は、ネットワークの構成を支援し、IPアドレス、ネットワークマスク、ルート、DNS サーバ、NTP サーバ等を含む、さまざまなパラメータのための構成を自動で提供することができます。
DHCP は、クライアントがリースを要求するために、同一のレイヤ 2 (Ethernet) セグメント上でサーバが実行中である必要があります。DHCP はよく RFC1918 (プライベート) ネットワーク上で使用されますが、ISP からパブリック IP 情報を取得するためにも使用されます。
公式 Gentoo ブートメディアは起動時に dhcpcd を自動的に実行します。この挙動は、ブートメディアのカーネルコマンドラインに
nodhcp
引数を追加することで、無効化することができます。すでに実行されていない場合は、以下で dhcpcd を enp1s0 に対して開始することができます:
root #
dhcpcd enp1s0
DHCP サーバが提供するホスト名とドメイン名をシステムで使うようにと、ネットワーク管理者から要求されている場合もあるでしょう。そのような場合には:
root #
dhcpcd -HD enp1s0
dhcpcd を停止するには、-x を使用することができます:
root #
dhcpcd -x
sending signal Term to pid 10831 waiting for pid 10831 to exit
ネットワークのテスト
デフォルトルートが適切に構成されていることは、インターネット接続の重要な構成要素です。ルート構成は以下で確認できます:
root #
ip route
default via 192.168.0.1 dev enp1s0
デフォルトルートが定義されていないと、インターネット接続は利用できず、追加の構成が必要になります。
基本的なインターネット接続は ping で確認することができます:
root #
ping -c 3 1.1.1.1
ホスト名ではなく、既知の IP アドレスに ping することから始めるとよいでしょう。これにより、DNS の問題を他の基本的なインターネット接続の問題から切り分けることができます。
外向きの HTTPS アクセスと DNS 解決は、次で確認することができます:
root #
curl --location gentoo.org --output /dev/null
curl がエラーを報告したり、他のテストが失敗したりしない場合は、インストールプロセスをディスクの準備から続けることができます。
curl がエラーを報告するのに、インターネットへの ping が機能する場合は、DNS を構成する必要があるかもしれません。
インターネット接続が確立されていない場合は、まずインターフェース情報を検証すべきです。そして:
- net-setup を使用してネットワーク構成を支援することができます。
- アプリケーション固有の構成が必要かもしれません。
- 手動でのネットワーク構成を試すことができます。
インターフェースの情報を取得する
そのままの状態でネットワークが機能していない場合は、インターネット接続を有効化するために追加の段階を踏む必要があります。一般的に、最初の段階はホストのネットワークインターフェースを列挙することです。
sys-apps/iproute2 パッケージに含まれる ip コマンドは、システムネットワークの情報の問い合わせと、構成のために使用することができます。
link 引数を使用して、ネットワークインターフェースのリンクを表示することができます:
root #
ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 4: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000 link/ether e8:40:f2:ac:25:7a brd ff:ff:ff:ff:ff:ff
address 引数を使用して、デバイスのアドレス情報を問い合わせることができます:
root #
ip address
2: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000<pre> 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 enp1s0 valid_lft forever preferred_lft forever inet6 fe80::ea40:f2ff:feac:257a/64 scope link valid_lft forever preferred_lft forever
このコマンドの出力は、システム上の各ネットワークインターフェースごとの情報を含んでいます。エントリはデバイスのインデックス番号で始まり、デバイス名 (enp1s0) が続きます。
lo (loopback) 以外のインターフェースが表示されない場合は、ネットワークハードウェアに問題があるか、そのインターフェースのためのドライバがカーネルにロードされていないかです。どちらの状況も、このハンドブックの対象範囲を外れています。#gentoo (webchat) に助けを求めてください。
一貫性のために、このハンドブックではメインのネットワークインターフェース名は enp1s0 であると仮定します。
predictable network interface names へ移行した結果、システム上のインターフェース名は古い命名規則による eth0 とはかなり違うものになっているかもしれません。現代的な Gentoo ブートメディアは、eno0 や ens1 や enp5s0 などで始まるインターフェース名を使用します。
追加可能: アプリケーション固有の構成
以下の手法は一般的に必要ではありませんが、インターネット接続のために追加の構成が必要な状況では、役に立つことがあります。
web プロキシを設定する
web プロキシを経由してインターネットにアクセスしている場合は、Portage が対応している各プロトコルごとに正しくプロキシにアクセスできるように、プロキシ情報を定義する必要があります。Portage は wget および rsync の取得手法を介してパッケージをダウンロードするために、http_proxy、ftp_proxy、および RSYNC_PROXY 環境変数を参照します。
links など、特定のテキストモード web ブラウザも、web プロキシ設定を定義する環境変数を利用することができます。特に、HTTPS アクセスのために https_proxy 環境変数も定義する必要があるでしょう。Portage は追加の実行時パラメータを渡さなくても影響を受けますが、links にはプロキシ設定のパラメータを設定する必要があるでしょう。
ほとんどの場合、プロキシサーバのホスト名を使って環境変数を定義するだけで十分です。以下の例では、プロキシサーバのホスト名は proxy.gentoo.org、ポート番号は 8080 であるとしましょう。
以下のコマンド中の
#
記号はコメントです。これらは説明のためだけに追加されているもので、コマンドを入力するときに打ち込む必要はありません。HTTP プロキシ (HTTP と HTTPS 通信のため) を定義するには:
root #
export http_proxy="http://proxy.gentoo.org:8080" # Portage と Links に適用されます
root #
export https_proxy="http://proxy.gentoo.org:8080" # Links にのみ適用されます
HTTP プロキシが認証を必要とする場合は、次の構文でユーザ名とパスワードを設定してください:
root #
export http_proxy="http://username:password@proxy.gentoo.org:8080" # Portage と Links に適用されます
root #
export https_proxy="http://username:password@proxy.gentoo.org:8080" # Links にのみ適用されます
プロキシサポートのためには以下のパラメータを使用して links を開始します:
user $
links -http-proxy ${http_proxy} -https-proxy ${https_proxy}
Portage と links のために FTP プロキシを定義するには:
root #
export ftp_proxy="ftp://proxy.gentoo.org:8080" # Portage と Links に適用されます
FTP プロキシのためには以下のパラメータを使用して links を開始します:
user $
links -ftp-proxy ${ftp_proxy}
Portage のために RSYNC プロキシを定義するには:
root #
export RSYNC_PROXY="proxy.gentoo.org:8080" # Portage に適用されます; Links は rsync プロキシをサポートしていません
ADSL のために pppoe-setup を使う
インターネットアクセスのために PPPoE が必要な場合、Gentoo ブートメディアには ppp 構成を簡単にするための pppoe-setup スクリプトが含まれています。
セットアップの中で、pppoe-setup は以下のことを聞いてくるでしょう:
- ADSL モデムに接続されている Ethernet インターフェースの名前。
- PPPoE ユーザ名とパスワード。
- DNS サーバの IP。
- ファイアウォールが必要かどうか。
root #
pppoe-setup
root #
pppoe-start
失敗した場合は、/etc/ppp/pap-secrets または /etc/ppp/chap-secrets の証明書を検証すべきです。証明書が正しい場合は、PPPoE Ethernet インターフェースの選択を確認すべきです。
PPTP を使う
PPTP サポートが必要なら、インストール CD が提供する pptpclient を使用することができますが、使用の前に構成を行う必要があります。
/etc/ppp/pap-secrets または /etc/ppp/chap-secrets を編集して、正しいユーザ名/パスワードの組み合わせを設定してください:
root #
nano /etc/ppp/chap-secrets
必要ならば/etc/ppp/options.pptpを修正してください:
root #
nano /etc/ppp/options.pptp
構成が完了したら、pptp を (options.pptp で設定できないオプションがあれば、それもいっしょに付けて) 実行し、サーバに接続します:
root #
pptp <server ipv4 address>
WEP を構成する
WEP が唯一の選択肢でない限り、WEP を使用しないでください。WEP は基本的に、オープンネットワーク上に何のセキュリティも提供しません。
iw コマンドは以下のアーキテクチャ上でのみ利用可能です: amd64、x86、arm、arm64、ppc、ppc64、および riscv。
無線(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 ツールを使ってください。
net-setup を使用する
自動ネットワーク構成が成功しない場合、Gentoo ブートメディアはネットワーク構成を支援するスクリプトを提供しています。net-setup を使用して、無線ネットワーク情報と静的 IP を構成することができます。
root #
net-setup enp1s0
net-setup はネットワーク環境についていくつかの質問をし、その情報を使用して wpa_supplicant または静的アドレッシングを構成するでしょう。
インターネットと IP の基礎
ここまでのすべてが失敗した場合、ネットワークは手動で構成しなくてはなりません。これは特に難しくはありませんが、よく考えて行うべきです。この節は、用語を明確にし、手動でのインターネット接続に関連する基礎的なネットワークの概念を紹介するためのものです。
CPE (Carrier Provided Equipment) には、ルータ、アクセスポイント、モデム、DHCP サーバ、および DNS サーバの機能を、単一のユニットに組み合わせているものがあります。具体的な機器とデバイスの機能の区別を付けることは重要です。
インターフェースとアドレス
ネットワークインターフェースは、ネットワークデバイスの論理的な表現です。インターフェースは、ネットワーク上の他のデバイスと通信するためにアドレスを必要とします。単一のアドレスだけが必要である一方で、複数のアドレスを単一のインターフェースに割り当てることもできます。これはデュアルスタック (IPv4 + IPv6) 構成で特に有用です。
一貫性のために、この入門では、インターフェースは enp1s0 で、アドレス 192.168.0.2 を使用すると仮定します。
IP アドレスは任意に設定することができます。その結果、複数のデバイスが同一の IP アドレスを使用する設定にすることができてしまいますが、これはアドレスの競合につながります。アドレスの競合は DHCP または SLAAC を使用して回避すべきです。
IPv6 は、アドレス構成のために典型的には StateLess Address AutoConfiguration (SLAAC) を使用します。ほとんどの場合、手動で IPv6 アドレスを設定することはバッドプラクティスです。特定のアドレスサフィックスが好ましい場合は、インターフェース識別トークンを使用することができます。
ネットワークと CIDR
アドレスが選択された後、デバイスは、どのように他のデバイスと通信すればよいかを、どのようにして知るのでしょうか?
IP アドレスはネットワークと関連付けられています。IP ネットワークは、連続した論理的なアドレスの範囲です。
ネットワークのサイズを区別するために、Classless Inter-Domain Routing、略して CIDR 記法が使用されます。
- CIDR 値はよく / で始まる表記をされ、ネットワークのサイズを表現します。
- ネットワークのサイズを計算するためには 2 ^ (32 - CIDR) の公式が使用できます。
- ネットワークのサイズが計算できたら、利用できるノード数はそこから 2 を引かなくてはなりません。
- ネットワークの最初の IP はネットワークアドレスで、最後の IP は典型的にはブロードキャストアドレスです。これらのアドレスは特別であり、通常のホストによって使用することはできません。
最もよく使用される CIDR 値は /24、および /32 です。それぞれ 254 ノードと単一ノードを表現します。
/24 の CIDR は事実上のデフォルトのネットワークサイズです。これはサブネットマスク 255.255.255.0 に対応し、最後の 8 ビットはネットワーク上のノードのための IP アドレスとして予約されます。
記法: 192.168.0.2/24 は次のように解釈することができます:
- アドレスは 192.168.0.2
- ネットワーク 192.168.0.0 上にある
- ネットワークはサイズ 254 (2 ^ (32 - 24) - 2) を持つ
- 使用できる IP は 192.168.0.1 - 192.168.0.254 の範囲内にある
- ブロードキャストアドレス 192.168.0.255 を持つ
- ほとんどの場合、ネットワーク上の最後のアドレスはブロードキャストアドレスとして使用されますが、これは変更することができます。
この構成を利用することで、デバイスは同一ネットワーク (192.168.0.0) 上のホストと通信できるようになるはずです。
インターネット
デバイスがネットワークに参加した後、デバイスは、どのようにインターネット上のデバイスと通信すればよいかを、どのようにして知るのでしょうか?
ローカルネットワークの外のデバイスと通信するには、ルーティングを使用しなくてはなりません。ルータは、単純に他のデバイスのためにトラフィックを転送するネットワークデバイスです。デフォルトルートまたはゲートウェイという用語は、典型的には、現在のネットワーク上で外部ネットワークへのアクセスのために使用されるデバイスを指します。
ゲートウェイは、ネットワーク上の最初または最後の IP にするのが標準的です。
インターネットに接続されたルータが 192.168.0.1 で利用可能である場合、それをデフォルトルートとして使用して、インターネットアクセスを得ることができます。
まとめると:
- インターフェースは、CIDR 値などの、アドレスとネットワーク情報を使って構成しなくてはなりません。
- ローカルネットワークアクセスは、同一ネットワーク上のルータへのアクセスに使用されます。
- デフォルトルートが構成されたら、外部のネットワークに向けたトラフィックはゲートウェイに転送され、インターネットへのアクセスが得られます。
ドメインネームシステム
IP を覚えるのは困難です。ドメイン名と IP アドレスの間のマッピングを行えるように、ドメインネームシステムが作成されました。
Linux システムは、DNS 解決のために使用されるネームサーバを定義するために、/etc/resolv.conf を使用します。
多くのルータは DNS サーバとしても機能します。ローカルの DNS サーアを使用することで、プライバシーを向上させ、キャッシュによって問い合わせを高速化することができます。
多くの ISP は DNS サーバを運営していて、これは通常は DHCP を介してゲートウェイに広告されます。ローカル DNS サーバを使用することで問い合わせの遅延が改善されることが多いですが、ほとんどの公開 DNS サーバは同じ結果を返すでしょうから、サーバの使用は好みによるところが大きいです。
手動でのネットワーク設定
インターフェースアドレス構成
手動で IP アドレスを構成するときは、ローカルネットワークトポロジを考慮する必要があります。IP アドレスは任意に設定することはできません; 衝突があるとネットワーク障害を発生させる場合があります。
enp1s0 にアドレス 192.168.0.2 と CIDR /24 を持たせるように構成するには:
root #
ip address add 192.168.0.2/24 dev enp1s0
このコマンドの先頭の部分は ip a と省略できます。
デフォルトルート構成
インターフェースに対してアドレスとネットワーク情報を構成することで link ルートが構成され、そのネットワークセグメントとの通信が可能になるでしょう:
root #
ip route
192.168.0.0/24 dev enp1s0 proto kernel scope link src 192.168.0.2
このコマンドは ip r と省略できます。
次で default ルートを 192.168.0.1 に設定することができます:
root #
ip route add default via 192.168.0.1
DNS 構成
ネームサーバ情報は典型的には DHCP を使用して取得されますが、/etc/resolv.conf に nameserver
エントリを追加することで、手動で設定することもできます。
dhcpcd が実行中の場合、/etc/resolv.conf への変更は保持されないでしょう。
ps x | grep dhcpcd
で状態を確認することができます。nano は Gentoo ブートメディアに含まれており、/etc/resolv.conf を編集するために使用できます:
root #
nano /etc/resolv.conf
キーワード nameserver
に続いて DNS サーバの IP アドレスを含む行が、定義された順で問い合わせられます:
nameserver 9.9.9.9
nameserver 149.112.112.112
nameserver 1.1.1.1
nameserver 1.0.0.1
DNS のステータスは、ドメイン名に対して ping することで確認できます:
root #
ping -c 3 gentoo.org