2つ以上のネットワークにつながる機器で
肝になるのはルーティングの設定です。
荒っぽく設定していても直接繋がっている
ネットワークには普通につながることが多いですが、
その先のルーターを介する通信は
ちゃんとしてないとトラブることも。
通常は静的に設定することが必要になります。
せっかくなのでLinuxでの設定例を紹介します。
想定する環境は以下の通り。
- 第1ネットワーク(インターフェイス名:eth0)はIPv4の回線(直接つながるのは"10.20.30.0/24"だがバックに"10.0.0.0/8"のイントラネットが存在)で、DHCPサーバが存在。ルータは"10.20.30.1"。
- 第2ネットワーク(インターフェイス名:eth1)はIPv4/IPv6にてインターネットにつながる回線で、DHCPサーバが存在。ルータは"192.168.1.1"。
- 第3ネットワーク(インターフェイス名:eth2)はIPv4の完全な単体の閉域網(172.16.0.*/24)で、DHCPサーバなし。
古き良き"/etc/network/interfaces"を設定ファイルとして使用する場合は
これの内容を以下のようにするのがいいでしょう。
auto lo iface lo inet loopback auto eth0 iface eth0 inet dhcp post-up route del -net 0.0.0.0/0 gw 10.20.30.1 eth0 post-up route add -net 10.0.0.0/8 gw 10.20.30.1 eth0 auto eth1 iface eth1 inet dhcp post-up route add -net 0.0.0.0/0 gw 192.168.1.1 eth1 auto eth2 iface eth2 inet static address 172.16.0.1 netmask 255.255.255.0
最近のnetplanを利用する場合には
設定ファイル"/etc/netplan/net.yaml"
(ファイル名は拡張子がyamlであればなんでもいい)
を以下のようにします。
network:
version: 2
ethernets:
eth0:
dhcp4: true
dhcp6: true
eth1:
dhcp4: true
dhcp6: false
routes:
- to: 10.0.0.0/8
via: 10.20.30.1
eth2:
addresses: [172.16.0.1/24]
dhcp4: false
dhcp6: false
ただし、起動時にはちゃんとならなくて、あとで# netplan applyを実行してやらないとうまく設定できません。なんで?
あとエントリーの削除はできないようで。やはり
# route del -net 0.0.0.0/0 gw 10.20.30.1 eth1をあとで実行する必要もあります。
融通の利かないnetplanは普及したらやだな。
0 件のコメント:
コメントを投稿