web-dev-qa-db-ja.com

Arch Linux-接続:ネットワークに到達できません

Arch Linuxのインストールが5回失敗した後、2つ正しくインストールされました。初めて、ネットワークは問題なく動作し、SSH経由でArch Linuxをインストールすることさえしました。

ライブCDの代わりにインストールされたシステムから起動した後、ネットワークに接続できません。何かをpingしようとすると、ルーターも含めて次のメッセージが表示されます。

接続:ネットワークに到達できません

Archのインストールを再試行しました。インターネットで問題が解決したようには見えなかったからです。インストール後、同じ問題が発生します。

タイムアウトしたため、eth0の起動に失敗しているようです。

22
Novicode

私が直面していた問題は、eth0がないことでした(理解できることから)。ip linkコマンドを実行すると、インターフェイスが出力されます。 eth0インターフェースがありませんでした。代わりにenp1s8を使用しました。

静的を使用していたため、サンプルプロファイルをcd /etc/netctl、次にcp examples/ethernet-static my-networkとコピーしました。その後、my-networknano my-networkで編集し、インターフェイスをeth0からen1s8(またはアダプタがip linkにあるもの)に変更しました。最後に、起動時にnetctl enable my-networkでそのプロファイルを使用できるようにしました。

プロファイルを有効にすると、起動時に確実に起動しますが、システムを再起動する必要はありません。netctl start my-networkを実行して、プロファイルをすぐに初期化します。

公式のArch Linuxフォーラムでヘルプを得ることができました。私のトピック there を表示できます。

26
Novicode

ネットワークに到達できないということは、ネットワークへのルートがないことを意味します。ローカルルーターにpingできない場合は、IPアドレスがないか、ネットワークインターフェイスがダウンしています。

netctl は、Archでネットワークインターフェースを管理するための標準ユーティリティです。それ(または何か他のもの)を設定していない場合、ネットワークはありません。 DHCPすらありません。

4
David Baggerman

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を再度有効にする必要があります。

3
predmod

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 
2
user359065