vyos1.3のネットワーク設定-自作ルーター作成

OSのインストールまではできました。ここからはネットワークの設定となります。

GUIは存在しない

VyOSは現時点(1.3)ではGUIは存在しません。そのため全てCUI(コマンド)での操作となります。 ※Dockerを使えばGUIをインストールできるらしいですが、面倒なのでやっておりません。

目的

今回の目的は、VyOSを自宅のルーターとして使うため、PPPoEの設定をして外にでるというのになります。家庭用ルーターみたいにLANケーブルさせば使える状態ってのを想定しております。

設定と契約について

インターネット回線の契約としては下記のようになります。

  • プロバイダー:インターリンク
  • IPアドレス:固定IP
  • ブロードバンドサービス:ドコモ光(フレッツ光回線)
  • 回線速度:1G
  • 回線種別:戸建て
  • IPv6:非対応
  • 光電話:なし

小型PCIN-1(ルーター)ですが、実際の機器はLAN1〜LAN4となっていますが、VyOSの仕様上下記のようになります

  • LAN1=eth0(PPPoE)
  • LAN2=eth1(192.168.0.0/24)
  • LAN3=eth2
  • LAN4=eth3

※基本的に全てethxの表記になります。

ホームゲートウェイではなくONU

EdgeRouter X でIPv6通信をしてみる(光電話なし)-EdgeRouter X設定が我が家の構成となっております。光電話は契約していないのでありません。

今回はマルチセッションを活用

自宅の回線(エッジルーターXでIPv6通信)はそのままで、今回はNTTのマルチセッションを活用していきます。

※エッジルーターXやVyOSの空いているポートをPPPoEにするというのもありますが、今回は諸事情でしておりません

うちの環境は実際にはONUとルーターの間にスイッチが入っておりますが、一般的なのはスイッチが入らないと思うので図もスイッチを省いています。

VyOS設定

というわけでVyOSの設定をしていきます。vyosのクイックスタートを参考にします

  • ユーザー名:vyos
  • パスワード:vyos

今回は小型PCなので、PC本体にキーボードをつけてモニターに表示して作業となります ※この時点ではLANケーブルなどは一切さしておりません

インターフェイス設定

WANをeth0とします。eth1はLANとなります。

[c] vyos@vyos:~$ configure set interfaces ethernet eth0 description 'OUTSIDE' set interfaces ethernet eth1 address '192.168.0.1/24' set interfaces ethernet eth1 description 'INSIDE' commit save [/c]

eth1にLANのIPアドレスを設定しました。

SSHの起動

SSHサービスを起動します。これをすることでeth1にLANケーブルをさせば、SSH経由で同一ネットワークから接続できます

[c] set service ssh port '22' commit save [/c]

IN-1のeth1とPCを接続するか、IN-1のeth1と無線LANが使えるルーターをブリッジモード(APモード)にしてもいいかもしれません。192.168.0.0/24ネットワークにPCが接続すればSSHでできます

DHCPの設定

現状の設定では、接続した端末(PC、スマートフォン等)からIPを決めて接続しないといけません。不便なのでDHCPを使えるようにします。これをすることでIPアドレスが自動で払い出されるので端末側で設定は不要となります

[c] set service dhcp-server shared-network-name LAN subnet 192.168.0.0/24 default-router '192.168.0.1' set service dhcp-server shared-network-name LAN subnet 192.168.0.0/24 dns-server '192.168.0.1' set service dhcp-server shared-network-name LAN subnet 192.168.0.0/24 lease '86400' set service dhcp-server shared-network-name LAN subnet 192.168.0.0/24 range 0 start 192.168.0.10 set service dhcp-server shared-network-name LAN subnet 192.168.0.0/24 range 0 stop '192.168.0.254' [/c]

IPアドレスを192.168.0.10から払い出すようにしています

DNSの設定

ルーターでDNSを指定しなくてもいいように、デフォルトで192.168.0.1となるようにします

[c] set service dns forwarding cache-size '0' set service dns forwarding listen-address '192.168.0.1' set service dns forwarding allow-from '192.168.0.0/24' [/c]

[c] set system name-server 203.141.128.33 set system name-server 203.141.128.35 commit save [/c]

システムにネームサーバーを設定しています。これはWANから外(インターネット)にでるときに名前解決できるようにします。これがないとインターネットに繋げないので必須となります。 このIPアドレスはインターリンクから指定されているものになります。

インターリンクを契約していない場合は?

少しずれて、インターリンクを契約されていない方は、契約しているプロバイダーに確認をするか、GoogleのパブリックDNSを使ってください

[c] set system name-server 8.8.8.8 set system name-server 8.8.4.4 commit save [/c]

PPPoEの設定

PPPoEの設定をしていきます。インターリンクのネットに接続するためのIDとパスワードを入れていきます。

[c] set interfaces pppoe pppoe0 authentication user yyxxxxxx@rb.xxx.●●● set interfaces pppoe pppoe0 authentication password xxxxx set interfaces pppoe pppoe0 connect-on-demand set interfaces pppoe pppoe0 default-route set interfaces pppoe pppoe0 no-peer-dns set interfaces pppoe pppoe0 source-interface eth0 commit save [/c]

source-interface eth0をいれることで、eth0がWANとして機能するようにしております。

接続できるか確認

ここで接続できるか確認をしたいと思います。eth0とeth1にLANケーブルをそれぞれ挿します。接続できていればIPアドレスを取得します

[c] vyos@vyos:~$ show interfaces Codes: S - State, L - Link, u - Up, D - Down, A - Admin Down Interface IP Address S/L Description


eth0 - u/u OUTSIDE eth1 192.168.0.1/24 u/u INSIDE eth2 - A/D eth3 - A/D lo 127.0.0.1/8 u/u ::1/128 pppoe0 203.xxx.xxx.xxx/32 u/u wlan0 - A/D [/c]

インターリンクのIDとパスワードが合っているので、グローバルIPアドレスを取得しております。

コマンドでは外にでるが、実際にネットの閲覧はできない

この時点では、IPアドレスを取得している場合、pingをいれると接続できます。

[c] vyos@vyos:$ sudo su -l root@vyos:# ping logw.jp PING logw.jp (153.126.202.153) 56(84) bytes of data. 64 bytes from ik1-337-28649.vs.sakura.ne.jp (153.126.202.153): icmp_seq=1 ttl=51 time=36.2 ms 64 bytes from ik1-337-28649.vs.sakura.ne.jp (153.126.202.153): icmp_seq=2 ttl=51 time=36.9 ms 64 bytes from ik1-337-28649.vs.sakura.ne.jp (153.126.202.153): icmp_seq=3 ttl=51 time=32.3 ms 64 bytes from ik1-337-28649.vs.sakura.ne.jp (153.126.202.153): icmp_seq=4 ttl=51 time=32.4 ms 64 bytes from ik1-337-28649.vs.sakura.ne.jp (153.126.202.153): icmp_seq=5 ttl=51 time=32.3 ms [/c]

このようになります。しかし、ブラウザで見てもサイトは表示されておりません。

ブラウザを使ってサイトがみれるようにNATの設定をします

NATの設定

NATを設定することで、LANの内部からWAN(外部)へ通信できるようになります

[c] set nat source rule 100 outbound-interface 'pppoe0' set nat source rule 100 source address '192.168.0.0/24' set nat source rule 100 translation address masquerade commit save [/c]

outbound-interfaceをeth0にしてしまうと、外にでれません。eth0はPPPoEの設定でpppoe0で設定をしているので、ここではpppoe0を指定します

firewallの設定

市販品ルーターなら、firewallなどが設定されているので特に意識しませんが、VyOSはfirewallも自分で設定をしないといけません。基本的にWAN(インターネット)からのアクセスは受け付けない設定をいれます

[c] set firewall name OUTSIDE-IN default-action 'drop' set firewall name OUTSIDE-IN rule 10 action 'accept' set firewall name OUTSIDE-IN rule 10 state established 'enable' set firewall name OUTSIDE-IN rule 10 state related 'enable' set firewall name OUTSIDE-LOCAL default-action 'drop' set firewall name OUTSIDE-LOCAL rule 10 action 'accept' set firewall name OUTSIDE-LOCAL rule 10 state established 'enable' set firewall name OUTSIDE-LOCAL rule 10 state related 'enable' set firewall name OUTSIDE-LOCAL rule 20 action 'accept' set firewall name OUTSIDE-LOCAL rule 20 icmp type-name 'echo-request' set firewall name OUTSIDE-LOCAL rule 20 protocol 'icmp' set firewall name OUTSIDE-LOCAL rule 20 state new 'enable' commit save [/c]

この設定は、外からSSHの設定も受け付けないので、SSHは内部からしかアクセスできません。

firewallの設定を適用

ファイアーウォールポリシーを適用します

[c] set interfaces ethernet eth0 firewall in name 'OUTSIDE-IN' set interfaces ethernet eth0 firewall local name 'OUTSIDE-LOCAL' commit save [/c]

eth0に適用します。間違えないようにしてください。

まとめ

これでネット接続ができて外にでれると思います。今回はインターリンクのプロバイダーを使っていますが、基本的に情報があっていればどこのプロバイダーでもいけると思います。