search
LoginSignup
31
Help us understand the problem. What are the problem?

More than 3 years have passed since last update.

posted at

updated at

Ubuntu18.04で複数ネットワーク+Static Routeの設定

Ubuntu16.04で複数ネットワークの設定
の18.04版。
Ubuntuは17からネットワーク設定が/etc/network/interfacesではなく/etc/netplanに変わった。

環境

Ubuntu18.04(Windows Server2012 r2内のHyper-V上)
Hyper-Vの仮想スイッチマネージャーで複数のNICを設定
(NICが複数ある実サーバでも可)

ネットワーク構成

IPアドレスとネットワークアドレス
eth0(NIC#1)に192.168.1.1/24(WAN側)
eth1(NIC#2)に10.10.0.1/16(内部側)
を割り当てる。

スタティックルートとしては以下のような構成とする。
10.0.0.0/8(つまり第一オクテットが10の場合)はNIC#2のルータに
その他の場合(WAN:インターネット)はNIC#1を通る。
スタティックルートはroute addでもいけると思うが、
netplanで設定する方法としての一例。

INTERNET
|
192.168.1.254(デフォゲ・ルータ)
|
192.168.1.1/24(eth0,NIC#1)
Ubuntu18.04
10.10.0.1/16(eth1,NIC#2)
|
10.10.0.254(NIC#2側のルータ)

ネットワークの確認

sh
$sudo lshw -short -class network

このような表示が出てくる

H/W path        Device      Class      Description
==================================================
/1              eth0        network    Ethernet interface
/2              eth1        network    Ethernet interface

/etc/netplan/

50-cloud-init.yamlというファイルがあるが、
「cloud-initはAWS EC2 などの cloud instance に対して、設定や拡張性を提供するためのパッケージです」
らしい。
参考:https://hiroki.jp/config-cloud-init

名前がそぐわない気がするので、これはこれでバックアップとし、
network.yamlファイルを作ってやる。
※netplanは/etc/netplanにある.yamlファイルを読み込むので.yaml_bakはスルーする。

/etc/netplan
sudo cp 50-cloud-init.yaml network.yaml #コピー
sudo mv 50-cloud-init.yaml 50-cloud-init.yaml_bak #バックアップ

以下は/etc/netplan/network.yamlで話を進める

sudo pico /etc/netplan/network.yaml

ipアドレスはipv4のみとします。

/etc/netplan/network.yaml
network:
    version: 2
    renderer: networkd
    ethernets:
        eth0:
            addresses: [192.168.1.1/24]
            gateway4: 192.168.1.254
            nameservers:
                addresses: [192.168.1.254]
            dhcp4: no
            dhcp6: no
        eth1:
            addresses: [10.10.0.1/16]
            dhcp4: no
            dhcp6: no
            routes:
            - to: 10.0.0.0/8
              via: 10.10.0.254

注意点

1.デフォゲを明確にするため、eth0のgatewayのみ記載する。
2.yamlファイルなのでスタティック・ルーティングの記載は、インデントに気を付けること。インデントにtabは使わない。半角スペースで。
3.加えて、インデントを間違うとSyntaxエラーになる。
例えば routes:の次行の「- to:」はインデントするとNG。routes:と同じ階層にする。

#以下はダメな例
routes:
  - to: 10.0.0.0/8
  via: 10.10.0.254

設定の反映

書式チェックもしてくれる。

sudo netplan apply

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
31
Help us understand the problem. What are the problem?