ハンドブック:PPC/インストール/ネットワーク

From Gentoo Wiki
Jump to:navigation Jump to:search
This page is a translated version of the page Handbook:PPC/Installation/Networking and the translation is 100% complete.
PPC ハンドブック
インストール
インストールについて
メディアの選択
ネットワーク設定
ディスクの準備
stage ファイル
ベースシステムのインストール
カーネルの設定
システムの設定
ツールのインストール
ブートローダの設定
締めくくり
Gentoo の操作
Portage について
USE フラグ
Portage の機能
Init スクリプトシステム
環境変数
Portage の操作
ファイルとディレクトリ
変数
ソフトウェアブランチの併用
追加ツール
カスタムパッケージリポジトリ
高度な機能
OpenRC ネットワーク設定
はじめに
高度な設定
モジュール式ネットワーク
無線
機能の追加
動的な管理


ネットワークの自動構成

もしかすると、もう機能していますか?

もしあなたのシステムが、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 を構成する必要があるかもしれません

インターネット接続が確立されていない場合は、まずインターフェース情報を検証すべきです。そして:

インターフェースの情報を取得する

そのままの状態でネットワークが機能していない場合は、インターネット接続を有効化するために追加の段階を踏む必要があります。一般的に、最初の段階はホストのネットワークインターフェースを列挙することです。

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
    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 ブートメディアは、eno0ens1enp5s0 などで始まるインターフェース名を使用します。

追加可能: アプリケーション固有の構成

以下の手法は一般的に必要ではありませんが、インターネット接続のために追加の構成が必要な状況では、役に立つことがあります。

web プロキシを設定する

web プロキシを経由してインターネットにアクセスしている場合は、Portage が対応している各プロトコルごとに正しくプロキシにアクセスできるように、プロキシ情報を定義する必要があります。Portage は wget および rsync の取得手法を介してパッケージをダウンロードするために、http_proxyftp_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 コマンドは以下のアーキテクチャ上でのみ利用可能です: amd64x86armarm64ppcppc64、および 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 ノードと単一ノードを表現します。

/24CIDR は事実上のデフォルトのネットワークサイズです。これはサブネットマスク 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.confnameserver エントリを追加することで、手動で設定することもできます。

警告
dhcpcd が実行中の場合、/etc/resolv.conf への変更は保持されないでしょう。ps x | grep dhcpcd で状態を確認することができます。

nano は Gentoo ブートメディアに含まれており、/etc/resolv.conf を編集するために使用できます:

root #nano /etc/resolv.conf

キーワード nameserver に続いて DNS サーバの IP アドレスを含む行が、定義された順で問い合わせられます:

ファイル /etc/resolv.confQuad9 DNS を使用する。
nameserver 9.9.9.9
nameserver 149.112.112.112
ファイル /etc/resolv.confCloudflare DNS を使用する。
nameserver 1.1.1.1
nameserver 1.0.0.1

DNS のステータスは、ドメイン名に対して ping することで確認できます:

root #ping -c 3 gentoo.org

接続が確認できたら、ディスクの準備から続けてください。