Help us understand the problem. What is going on with this article?

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

More than 1 year has passed since last update.

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
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした