何をするか
使わなくなったノートPC上でvyosというネットワークOSを導入して、ノートPCを家庭用ルータとして使用してみます。
やる理由としてはvyosを使ってルータを作ってみたかっただけです。
環境
OS:Win8
ソフト:VMware Workstation 12 Player
↓ざっくり構成(before)
↓ざっくり構成(after)
※無線LANアダプタがあればvyos自体がAPにもなれます。
vyosの機能
vyosは企業などで使われる商用ルータと同等の機能があります。
家庭用ルータとしてはほぼ不要ですが…。
yvso機能wiki
WebキャッシュサーバやIPSecVPNは家庭でも使えるかも。
家庭用ルータに必要な機能を洗い出し
・送信元NAT
自宅のPCがインターネットに出る際に使用
・DHCP
自宅のPCがAPにアクセスした際にローカルアドレスを自動取得する為に使用
・DNS転送
ISP(WAN側)から自動取得したDNSの情報をDHCPクライアントに伝える事が出来ないので、自身がDNSサーバのように振る舞いISPのDNSへクエリを中継するため。
VMware Workstationの設定など
vyosのisoをダウンロードして仮想マシンを作成する
vyosのisoをダウンロード → vyos
仮想マシン、仮想ネットワークエディタの設定。
自動ブリッジではなくVMnetを使用したのは、今後の物理インタフェース追加も考えてインタフェースを明示的に指定する為です。
NATを使用しているのはホスト(ノートPC)に振られているグローバルIPをvyosで使用する為です。
ノートPC内部のイメージはこんな感じ。
USBNICを1つつけてるので物理NICが2つあります。
vyosの設定
初期設定は長くなるので別の記事で書きます
LAN側(eth2)、WAN側(eth3)のインタフェースを認識している事を確認。
|
vyos@vyos:~$ show interfaces Codes: S - State, L - Link, u - Up, D - Down, A - Admin Down Interface IP Address S/L Description --------- ---------- --- ----------- eth2 - u/u eth3 - u/u lo 127.0.0.1/8 u/u ::1/128 |
設定モードに移行してLAN側、WAN側それぞれのアドレスを設定。
ONUからのグローバルIP取得はDHCPです。
|
vyos@vyos:~$ configure vyos@vyos# set interfaces ethernet eth2 address 192.168.1.254/24 vyos@vyos# set interfaces ethernet eth3 address dhcp |
SSHを有効にして今までの設定変更を反映。
これでターミナルソフトからSSH経由で接続できます。
|
vyos@vyos# set service ssh vyos@vyos# commit |
LAN→WANへの送信元NATのルールを作成。
|
vyos@vyos# set nat source rule 900 translation address masquerade vyos@vyos# set nat source rule 900 source address 192.168.1.0/24 vyos@vyos# set nat source rule 900 outbound-interface eth3 |
DHCPサーバになる為の設定。
アドレスプールは 192.168.1.100-150
|
vyos@vyos# set service dhcp-server shared-network-name my_pool subnet 192.168.1.0/24 vyos@vyos# set service dhcp-server shared-network-name my_pool subnet 192.168.1.0/24 start 192.168.1.100 stop 192.168.1.150 vyos@vyos# set service dhcp-server shared-network-name my_pool subnet 192.168.1.0/24 default-router 192.168.1.254 vyos@vyos# set service dhcp-server shared-network-name my_pool subnet 192.168.1.0/24 dns-server 192.168.1.254 |
DNS転送の設定。
|
vyos@vyos# set service dns forwarding listen-on eth2 |
設定を保存して再起動。
|
vyos@vyos# commit vyos@vyos# save vyos@vyos# exit vyos@vyos:~$ reboot |
使えそうな確認コマンドなど
コンフィグの確認。
|
vyos@vyos:~$ show configuration |
インターフェースの状態確認。
|
vyos@vyos:~$ show interfaces |
ルーティングテーブルの確認。
|
vyos@vyos:~$ show ip route |
NATルールの確認。
|
vyos@vyos:~$ show nat source rules |
現在の送信元NATの状態を確認。
|
vyos@vyos:~$ show nat source translations detail |
完成版コンフィグ
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106
|
vyos@vyos:~$ show configuration interfaces { ethernet eth2 { address 192.168.1.254/24 duplex auto hw-id 00:0c:29:0a:a4:89 smp_affinity auto speed auto } ethernet eth3 { address dhcp duplex auto hw-id 00:0c:29:0a:a4:93 smp_affinity auto speed auto } loopback lo { } } nat { source { rule 900 { outbound-interface eth3 source { address 192.168.1.0/24 } translation { address masquerade } } } } service { dhcp-server { disabled false shared-network-name my_pool { authoritative disable subnet 192.168.1.0/24 { default-router 192.168.1.254 dns-server 192.168.1.254 lease 86400 start 192.168.1.100 { stop 192.168.1.150 } } } } dns { forwarding { cache-size 150 listen-on eth2 } } ssh { port 22 } } system { config-management { commit-revisions 20 } console { device ttyS0 { speed 9600 } } host-name vyos login { user vyos { authentication { encrypted-password **************** plaintext-password **************** } level admin } } ntp { server 0.pool.ntp.org { } server 1.pool.ntp.org { } server 2.pool.ntp.org { } } package { auto-sync 1 repository community { components main distribution helium password **************** url http://packages.vyos.net/vyos username "" } } syslog { global { facility all { level notice } facility protocols { level debug } } } time-zone UTC } |
スループットの測定
回線速度計測サイトを使用して有線接続時の速度テストをしてみた結果。
※干渉をうけにくい有線接続でテスト。
・モデム—自宅のPC
下り:74Mbps 上り:4.5Mbps
・モデム—vyos—自宅のPC
下り:94Mbps 上り:5.6Mbps
無線アダプタを買ってAP設定をすれば高機能無線ルータとして実用的に使えるんじゃないか??
安定稼働するかどうかは分かりませんが。