構成
3台のマシンを用います。
仮想マシンでも物理マシンでも良いです。
osはubuntu18.04を用いました。
192.168.0.0/24のサブネットと、192.168.1.0/24のサブネットの2つに分かれています。
するべきこととしては、各マシンの静的なipアドレスの設定とホスト2でのルーティングの設定です。
ネットワークインターフェース名(eth1, eth2など)は各自のマシンに応じて変更する必要があります。確認するためには ifconfig
コマンドもしくは ip a
コマンドを用います。
ホスト1の設定
ubuntu18.04では静的にipアドレスを割り振るためにnetplanという仕組みを用います。
network:
version: 2
renderer: NetworkManager
ethernets:
eth1:
addresses: [192.168.0.2/24]
routes:
- to: 192.168.1.2
via: 192.168.0.3
この設定を反映させるために以下のコマンドを実行します。
$ sudo netplan apply
実際に静的なipアドレスがネットワークインターフェースに割り振られているのかどうかを確認するためには ip a
もしくは ifconfig
というコマンドを実行します。また、netplanのroutesの部分が反映されているかどうかを確かめるためにはルーティングを確認するコマンドである ip route
を実行します。
ホスト2の設定
network:
version: 2
renderer: NetworkManager
ethernets:
eth1:
addresses: [192.168.0.3/24]
eth2:
addresses: [192.168.1.3/24]
$ sudo netplan apply
また、ホスト2ではパケットの転送設定を有効にする必要があります。
net.ipv4.ip_forward=1
設定を反映させるために、以下のコマンドを実行します。
$ sudo sysctl -p
ホスト3の設定
network:
version: 2
renderer: NetworkManager
ethernets:
eth1:
addresses: [192.168.1.2/24]
routes:
- to: 192.168.0.2
via: 192.168.1.3
ルーティングが正しく動作することの確認
ホスト1からホスト3へ向けて、 ping
コマンドを実行します。pingはネットワークの疎通を確認するコマンドです。
$ ping 192.168.1.2