ubuntu18.04にセカンダリIPを付与する


1.まえがき

ついにAWSでもUbuntu18.04がメインでリリースされましたが、ネットワークの設定ファイルがnetplanへ変更になって、セカンダリIPの設定がわからないよぉ!ドラ○も〜んとなったのでメモ書き

こちらに画像つきの最新版を公開しましたので、よければ遊びに来てみてください。

2.ちゅういじこう

AWSコンソール上でのセカンダリIP付与の行い方は、先人達のありがたい記事がたくさんあるので割愛。
あと、実は公式に手順は書いてあるのですが、これをコピペするとインデントの問題で弾かれるので、そこを修正してます。
(むしろそこくらいしか修正していない)

3.ほんぺん

さて早速、新しいネットワークのyamlファイルを作るよ!

$ sudo vi /etc/netplan/40-cloud-init.yaml

/etc/netplan/40-cloud-init.yaml
network:
  version: 2
  renderer: networkd
  ethernets:
    ens5: # NIC name
      addresses: [xxx.xxx.xxx.xxx/xx, yyy.yyy.yyy.yyy/yy]
      dhcp4: no
      routes:
        - to: 0.0.0.0/0
          via: zzz.zzz.zzz.zzz # Default gateway
          table: 1000
        - to: xxx.xxx.xxx.xxx
          via: 0.0.0.0
          scope: link
          table: 1000
        - to: yyy.yyy.yyy.yyy
          via: 0.0.0.0
          scope: link
          table: 1000
      routing-policy:
        - from: xxx.xxx.xxx.xxx
          table: 1000
        - from: yyy.yyy.yyy.yyy
          table: 1000

同ディレクトリに50-cloud-init.yamlというのがあるけど、それはそのまま
消しちゃだめ
また、先頭の番号で優先順位があるので、50より若くしておくことおおすすめ。
書き終わったら、更新するぞ。

$ sudo netplan --debug apply

でエラーログがでなければ完成
$ ip a
で確認してください。

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
2: ens5: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9001 qdisc mq state UP group default qlen 1000
    link/ether hoge brd ff:ff:ff:ff:ff:ff
    inet xxx.xxx.xxx.xxx/xx brd hoge scope global dynamic ens5
       valid_lft 3549sec preferred_lft 3549sec
    inet yyy.yyy.yyy.yyy/yy brd hoge scope global secondary ens5
       valid_lft forever preferred_lft forever
    inet6 hoge scope link
       valid_lft forever preferred_lft forever

こんなふうにIPが2つ出たら成功。
一応wgetとかで外と疎通できるかも確認しよう。
(確認大事)

再起動後、ネットの疎通がしばらく遅くなりますが、辛抱強く待ちましょう!!

お疲れ様でした〜

ブログ始めました、よかったら遊びに来てください
https://red-full-moon.com/