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となります。
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
eth1にLANのIPアドレスを設定しました。
SSHの起動
SSHサービスを起動します。これをすることでeth1にLANケーブルをさせば、SSH経由で同一ネットワークから接続できます
set service ssh port '22' commit save
IN-1のeth1とPCを接続するか、IN-1のeth1と無線LANが使えるルーターをブリッジモード(APモード)にしてもいいかもしれません。192.168.0.0/24ネットワークにPCが接続すればSSHでできます
DHCPの設定
現状の設定では、接続した端末(PC、スマートフォン等)からIPを決めて接続しないといけません。不便なのでDHCPを使えるようにします。これをすることでIPアドレスが自動で払い出されるので端末側で設定は不要となります
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'
IPアドレスを192.168.0.10から払い出すようにしています
DNSの設定
ルーターでDNSを指定しなくてもいいように、デフォルトで192.168.0.1となるようにします
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'
set system name-server 203.141.128.33 set system name-server 203.141.128.35 commit save
システムにネームサーバーを設定しています。これはWANから外(インターネット)にでるときに名前解決できるようにします。これがないとインターネットに繋げないので必須となります。
このIPアドレスはインターリンクから指定されているものになります。
インターリンクを契約していない場合は?
少しずれて、インターリンクを契約されていない方は、契約しているプロバイダーに確認をするか、GoogleのパブリックDNSを使ってください
set system name-server 8.8.8.8 set system name-server 8.8.4.4 commit save
PPPoEの設定
PPPoEの設定をしていきます。インターリンクのネットに接続するためのIDとパスワードを入れていきます。
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
source-interface eth0をいれることで、eth0がWANとして機能するようにしております。
接続できるか確認
ここで接続できるか確認をしたいと思います。eth0とeth1にLANケーブルをそれぞれ挿します。接続できていればIPアドレスを取得します
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
インターリンクのIDとパスワードが合っているので、グローバルIPアドレスを取得しております。
コマンドでは外にでるが、実際にネットの閲覧はできない
この時点では、IPアドレスを取得している場合、pingをいれると接続できます。
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
このようになります。しかし、ブラウザで見てもサイトは表示されておりません。
ブラウザを使ってサイトがみれるようにNATの設定をします
NATの設定
NATを設定することで、LANの内部からWAN(外部)へ通信できるようになります
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
outbound-interfaceをeth0にしてしまうと、外にでれません。eth0はPPPoEの設定でpppoe0で設定をしているので、ここではpppoe0を指定します
firewallの設定
市販品ルーターなら、firewallなどが設定されているので特に意識しませんが、VyOSはfirewallも自分で設定をしないといけません。基本的にWAN(インターネット)からのアクセスは受け付けない設定をいれます
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
この設定は、外からSSHの設定も受け付けないので、SSHは内部からしかアクセスできません。
firewallの設定を適用
ファイアーウォールポリシーを適用します
set interfaces ethernet eth0 firewall in name 'OUTSIDE-IN' set interfaces ethernet eth0 firewall local name 'OUTSIDE-LOCAL' commit save
eth0に適用します。間違えないようにしてください。
まとめ
これでネット接続ができて外にでれると思います。今回はインターリンクのプロバイダーを使っていますが、基本的に情報があっていればどこのプロバイダーでもいけると思います。
個人支援・寄付について
サイトラボでは個人支援・寄付を受けております。ご協力いただける方はお願いいたします。当サイトではビットコインで受け付けております。
- ビットコイン:3LHnADwZwUbic2L45EnVJEykiG6KfbqrwS