【Ubuntu 18.04】単一NICに複数IPを割り当てる【netplan】

自宅サーバー
  • やりたいこと
    ドコモ光(ISP:BIGLOBE)でIPv6オプション(v6プラス:MAP-E)環境。

    ・HGW(RT-500MI)はPPPoEブリッジを「有効」に設定。
    ・PPPoEルーター(Aterm WR8750N)はRT/APモード切替スイッチを「RT」に、PPPoEブリッジとIPv6ブリッジを「無効」に設定。こうしないとループを起こして通信できなくなる。
    IPv4+IPv6のデュアルスタックだが、この環境だとIPv4側がMAP-Eのために自由にポート解放できない。
    IPv4 PPPoEのルーターを設置して、IPv4は全部そっちに任せる設定は簡単にできるが、それだと通信速度が落ちてしまう…。

  • ということで、今回は、サーバー上のひとつのNICで、主としてIPv6オプションのIPv4とIPv6を使いつつ、公開用としてPPPoEのIPv4も使えるようにする。
    ※この情報を参考にした際に被った被害については責任を負いません。
  • 環境
    回線・プロバイダ:ドコモ光(西日本)+ビッグローブ
    主ルーター(v6プラス):ホームゲートウェイ RT-500MI 192.168.1.101
    副ルーター(PPPoE):NEC Aterm WR8750N 192.168.1.201
    自宅サーバー:Ubuntu Server 18.04.3 (x86_64)、NICはひとつ 192.168.1.102と192.168.1.202
  • 後々Softether VPN Serverをインストールして、ブリッジするので、bridge-utilsをインストール
    $ sudo apt install bridge-utils
  • ネットワーク設定
    Ubuntu 18.04なのでnetplanを設定。
    ひとつのyamlの中で設定しようとしてもうまくいかなかったので、2つに分ける。
    IPアドレスは2つ割り当てることになる。
    NICの「enp3s0」は環境によって異なるので、「ip a」などで確認。
    1つ目:/etc/netplan/10-primary.yaml(主ルーター用)
    network:
      ethernets:
        enp3s0:
          dhcp4: false
          dhcp6: false
      bridges:
        br0:
          interfaces: [enp3s0]
            dhcp4: false
            dhcp6: true
            addresses:
              - 192.168.1.102/24
            gateway4: 192.168.1.101
            nameservers:
              addresses: [8.8.8.8, 8.8.4.4]
            parameters:
              forward-delay: 0
              stp: false
              optional: true
      version: 2
      renderer: networkd
    2つ目:/etc/netplan/20-secondary.yaml(副ルーター用)
    network:
      version: 2
      renderer: networkd
      bridges:
        br0:
          addresses:
            - 192.168.1.202/24
          routes:
            - to: 0.0.0.0/0
              via: 192.168.1.201
              table: 1000
            - to: 192.168.1.202
              via: 0.0.0.0
              scope: link
              table: 1000
          routing-policy:
            - from: 192.168.1.202
              table: 1000
  • 参考:https://www.komee.org/entry/2018/06/12/181400
  • 設定を反映
    $ sudo netplan apply
    (リモートで設定している場合、設定がうまくいっていないと切断される可能性あり)
  • 確認
    1つ目のIPでアクセスできるか確認
    $ wget -O - -q --bind-address=192.168.1.102 inet-ip.info
    ⇒メインのルーターのグローバルIPアドレスが表示されればOK

    2つ目のIPでアクセスできるか確認
    $ wget -O - -q --bind-address=192.168.1.202 inet-ip.info
    ⇒サブのルーターのグローバルIPアドレスが表示されればOK

    デフォルトだとどちらのIPでアクセスされるか確認
    $ wget -O - -q inet-ip.info
    ⇒メインのルーターのグローバルIPアドレスが表示されればOK

コメント

タイトルとURLをコピーしました