「LANの多重化」の版間の差分
ナビゲーションに移動
検索に移動
Rin-scrooge (トーク | 投稿記録) |
Rin-scrooge (トーク | 投稿記録) |
||
6行目: | 6行目: | ||
# NetworkManagerをやめてnetctlに変更<br/>ArchLinux独自ということで、ArchLinuxに最適化されていると信じる…。 | # NetworkManagerをやめてnetctlに変更<br/>ArchLinux独自ということで、ArchLinuxに最適化されていると信じる…。 | ||
# ネットワークを多重化する<br/>速度の向上は特に望んでいないので、ウォームスタンバイにして1つのNICが死んでも別のNICで通信を継続するようにする。 | # ネットワークを多重化する<br/>速度の向上は特に望んでいないので、ウォームスタンバイにして1つのNICが死んでも別のNICで通信を継続するようにする。 | ||
+ | |||
+ | ※以下の手順はセキュリティ上VirtualBoxで操作した内容になっています。 | ||
== bondingの準備 == | == bondingの準備 == | ||
38行目: | 40行目: | ||
コピーできたら、環境に合わせて内容を編集します。<br/> | コピーできたら、環境に合わせて内容を編集します。<br/> | ||
− | nanoなどのエディタで「/etc/netctl/bonding」を開きます。 | + | nanoなどのエディタで「/etc/netctl/bonding」を開きます。<br/> |
+ | 【修正前】 | ||
+ | <syntaxhighlight lang="text" line="line">Description="A bonded interface" | ||
+ | Interface=bond0 | ||
+ | Connection=bond | ||
+ | BindsToInterfaces=(eth0 eth2) | ||
+ | IP=static | ||
+ | Address="10.0.0.1/8" | ||
+ | #Mode=balance-rr</syntaxhighlight> | ||
+ | 【修正後】 | ||
+ | <syntaxhighlight lang="text" line="line" highlight="4,6,7,8">Description="A bonded interface" | ||
+ | Interface=bond0 | ||
+ | Connection=bond | ||
+ | BindsToInterfaces=(enp0s3 enp0s9) | ||
+ | IP=static | ||
+ | IP6=stateless | ||
+ | Address="10.0.2.15/24" | ||
+ | Mode=active-backup</syntaxhighlight> | ||
== 参考サイト == | == 参考サイト == |
2019年8月6日 (火) 10:15時点における版
ArchLinuxのカーネルがバージョンアップしてから、またLANが不安定に…。
ちなみに使用しているNICはasixのAX88179チップのやつ…。
ネットで調べても、不安定に悩んでいる人が少ないみたい…。
で色々調べた結果…以下の2点を実現することにしました。
- NetworkManagerをやめてnetctlに変更
ArchLinux独自ということで、ArchLinuxに最適化されていると信じる…。 - ネットワークを多重化する
速度の向上は特に望んでいないので、ウォームスタンバイにして1つのNICが死んでも別のNICで通信を継続するようにする。
※以下の手順はセキュリティ上VirtualBoxで操作した内容になっています。
bondingの準備
netctlはデフォルトでインストールされているので、netctlを使用したbondingを実現できるように設定ファイルを作成します。
先ずは、bondingするNIC名を以下のコマンドで取得します。
ip a
こんなふうに出力されるかと思います。
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 08:00:27:66:20:41 brd ff:ff:ff:ff:ff:ff
inet 10.0.2.15/24 brd 10.0.2.255 scope global noprefixroute enp0s3
valid_lft forever preferred_lft forever
inet6 fe80::3092:89f5:4be1:eb66/64 scope link
valid_lft forever preferred_lft forever
3: enp0s9: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 08:00:27:59:5c:9a brd ff:ff:ff:ff:ff:ff
inet 10.0.4.15/24 brd 10.0.4.255 scope global dynamic noprefixroute enp0s9
valid_lft 80855sec preferred_lft 80855sec
inet6 fe80::3384:eba2:7991:7635/64 scope link noprefixroute
valid_lft forever preferred_lft forever
現時点ではNetworkManagerが起動しているので、2つのNICが生きています。
上記の例では「enp0s3」と「enp0s9」が、それぞれのNIC名になります。
次に手順に従って、サンプルファイルをコピーします。
cp /etc/netctl/examples/bonding /etc/netctl
コピーできたら、環境に合わせて内容を編集します。
nanoなどのエディタで「/etc/netctl/bonding」を開きます。
【修正前】
1 Description="A bonded interface"
2 Interface=bond0
3 Connection=bond
4 BindsToInterfaces=(eth0 eth2)
5 IP=static
6 Address="10.0.0.1/8"
7 #Mode=balance-rr
【修正後】
1 Description="A bonded interface"
2 Interface=bond0
3 Connection=bond
4 BindsToInterfaces=(enp0s3 enp0s9)
5 IP=static
6 IP6=stateless
7 Address="10.0.2.15/24"
8 Mode=active-backup
参考サイト
netctl - ArchWiki
マスターのnetctl / netctl.profile.5.txt・joukewitteveen / netctl・GitHub
LinuxでのNIC冗長化(bonding)を少し深く考えてみる: sanonosa システム管理コラム集