Ubuntu18.04 静的ルーティング 最小構成


構成

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という仕組みを用います。

/etc/netplan/01-network-manager-all.yaml
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の設定

/etc/netplan/01-network-manager-all.yaml
network:
  version: 2
  renderer: NetworkManager
  ethernets:
    eth1:
      addresses: [192.168.0.3/24]
    eth2:
      addresses: [192.168.1.3/24]
$ sudo netplan apply

また、ホスト2ではパケットの転送設定を有効にする必要があります。

/etc/sysctl.conf
net.ipv4.ip_forward=1

設定を反映させるために、以下のコマンドを実行します。

$ sudo sysctl -p

ホスト3の設定

/etc/netplan/01-network-manager-all.yaml
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