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 件のコメント:
コメントを投稿