Arch Linuxのインストールが5回失敗した後、2つ正しくインストールされました。初めて、ネットワークは問題なく動作し、SSH経由でArch Linuxをインストールすることさえしました。
ライブCDの代わりにインストールされたシステムから起動した後、ネットワークに接続できません。何かをpingしようとすると、ルーターも含めて次のメッセージが表示されます。
接続:ネットワークに到達できません
Archのインストールを再試行しました。インターネットで問題が解決したようには見えなかったからです。インストール後、同じ問題が発生します。
タイムアウトしたため、eth0の起動に失敗しているようです。
私が直面していた問題は、eth0
がないことでした(理解できることから)。ip link
コマンドを実行すると、インターフェイスが出力されます。 eth0
インターフェースがありませんでした。代わりにenp1s8
を使用しました。
静的を使用していたため、サンプルプロファイルをcd /etc/netctl
、次にcp examples/ethernet-static my-network
とコピーしました。その後、my-network
をnano my-network
で編集し、インターフェイスをeth0
からen1s8
(またはアダプタがip link
にあるもの)に変更しました。最後に、起動時にnetctl enable my-network
でそのプロファイルを使用できるようにしました。
プロファイルを有効にすると、起動時に確実に起動しますが、システムを再起動する必要はありません。netctl start my-network
を実行して、プロファイルをすぐに初期化します。
公式のArch Linuxフォーラムでヘルプを得ることができました。私のトピック there を表示できます。
ネットワークに到達できないということは、ネットワークへのルートがないことを意味します。ローカルルーターにpingできない場合は、IPアドレスがないか、ネットワークインターフェイスがダウンしています。
netctl
は、Archでネットワークインターフェースを管理するための標準ユーティリティです。それ(または何か他のもの)を設定していない場合、ネットワークはありません。 DHCPすらありません。
ArchLinuxのネットワーク設定は https://wiki.archlinux.org/index.php/Netctl のArchLinux wikiに詳しく文書化されています
投票数が最も多い回答の1つの重要な明確化-再起動する必要はありません。ネットワークインターフェースのみが存在し、適切なインターフェース名と設定が/ etc/netclのプロファイルファイルで使用されている場合(サンプルコピーの名前をmynet1とする)、
netctl start mynet1
ネットワークプロファイルmynet1が起動し、ネットワークルートが機能します。
しかしながら
netclt enable mynet1
起動するたびにsystemdサービスマネージャがシステムサービスを開始できるようにします。つまり、/ etc/systemd/system/netc @ [mynetprofilename] .serviceにユニットの詳細(デバイスのバインドと依存関係)を含むユニットファイルを作成します。
また、ネットワークプロファイルが変更された場合は、netctlを再度有効にする必要があります。
Archlinuxによると、インストーラーが自動的に接続できない場合は、dhcpcdを試してください。これは、インストール後に私にとってその場で機能しました。コマンドとして「dhcpcd」と入力し、数秒待ってから、「ip route」または「ping 8.8.8.8」で動作するかどうかを確認してください。 「watch ip address」を使用して、これらのinetおよびinet6アドレスがどれだけ速くポップアップするかを確認しました。
Dhcpcdを使用する代わりに、ゼロから接続することもできます。
modprobe e1000e
ip link set dev eth0 up
ip address add 192.168.0.16/24 dev eth0
ip route add 192.168.0.0/24 dev eth0
ip route add default via 192.168.0.1
e1000eは「ネットワークドライバー」であるとmodinfoは言います。このモジュールをロードすることで、eth0リンクを取得します(いいえ、/ devで探しません)。 「ip」コマンドは、リンクをアクティブにし、アドレスを選択し、ローカル(サブネット)を定義してから、デフォルトゲートウェイを定義します。これをテストするにはかなり時間がかかりました(IPリンクヘルプ、IPアドレスヘルプ、IPルートヘルプ...)。
したがって、これは有益ですが、「dhcpcd」は入力が速く、おそらくより堅牢です。また、「dhcpcd -x」を使用すると、問題なく停止できます。
/etc/pacman.d/にあるpingとミラーリストが機能していれば、pacmanまたはpacstrapに必要なものはすべて揃っています。
そして、はい、私はeth0をenoxxxに名前変更するカーネルメッセージを見たので、最初に「ip link」で、systemdによってすでに設定されているインターフェイスを確認する必要があります。ここで起こります:
[ 3.052354] e1000e 0000:00:1f.6 eth0: (PCI Express:2.5GT/s:Width x1) 94:c6:91:a5:39:b8
[ 3.052360] e1000e 0000:00:1f.6 eth0: Intel(R) PRO/1000 Network Connection
[ 3.052445] e1000e 0000:00:1f.6 eth0: MAC: 13, PHY: 12, PBA No: FFFFFF-0FF
[ 3.055917] e1000e 0000:00:1f.6 eno1: renamed from eth0
私のアドレスの.16は任意の(無料の)番号であり、192.168.0.1は常にゲートウェイでなければなりません。多分私は幸運だったかもしれませんが、systemdとinet6の下でハックできるのは朗報です。ただし、netctlを試します。
そして今、私はsystemdで起動し、dhcpcdを起動しました。 「eno1」でアドレス.15と3つのinet6アドレスを取得しましたが、それ以外は、上記の「ip」ハックとまったく同じです。
3: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 94:c6:91:a5:39:b8 brd ff:ff:ff:ff:ff:ff
inet 192.168.0.15/24 brd 192.168.0.255 scope global noprefixroute eno1
valid_lft forever preferred_lft forever
inet6 2a05:41c0:12:bf00::2/128 scope global dynamic noprefixroute
valid_lft 2559430sec preferred_lft 572230sec
inet6 2a05:41c0:12:bf00:f51e:97c1:de6f:6f49/64 scope global dynamic mngtmpaddr noprefixroute
valid_lft 2591994sec preferred_lft 604794sec
inet6 fe80::47cf:a2e4:af0b:b7cd/64 scope link
valid_lft forever preferred_lft forever
default via 192.168.0.1 dev eno1 proto dhcp src 192.168.0.15 metric 203
192.168.0.0/24 dev eno1 proto dhcp scope link src 192.168.0.15 metric 203