VyOSでルーターを作る

お久しぶりです。

訳あって家のネットワークを分ける必要がでてきたので、今日はVyOSを使ってルーターを作ってみます。

VyOSとは

今日の目標

トポロジ
f:id:akkkix:20170127173204j:plain
いわゆる2重ルーターです

ファイアウォール

送信元 送信先 操作
192.168.2.0/24 192.168.1.0/24 DROP

ポート開放

受信ポート 送信先 送信ポート
1234 192.168.2.2 22

インストール

https://vyos.io/
stableをダウンロードしました。(v1.1.7)

イメージから起動し、ログインします。

install image

インストールが始まるので少し待ちましょう。

インターフェイスへのIPアドレスの割当

インストールが終わったら、起動させてログインします。

configure

設定モードへ入ります。
eth0を192.168.1.2/24、eth1を192.168.2.1/24にします。

set interfaces ethernet eth0 address 192.168.1.2/24
set interfaces ethernet eth1 address 192.168.2.1/24

NATの設定

外部側がeth0、内部側がeth1です。

set nat source rule 1 outbound-interface eth0
set nat source rule 1 source address 192.168.2.0/24
set nat translation address masquerade

これで192.168.2.0/24内のホストがNATされて192.168.1.0/24側に出られるようになりました。

デフォルトゲートウェイの設定

このままでは192.168.2.0/24側のホストはインターネットに出られません。
次に経由するルーター(トポロジのPR-S300NE)を指定します。

protocols static route 0.0.0.0/0 next-hop 192.168.1.1

※systemのgateway-addressでも設定できるみたいです

set system gateway-address 192.168.1.1

ファイアウォールの設定

今回は192.168.2.0/24から送信されたパケットの宛先が192.168.1.0/24だった場合のみDROPします。

set firewall name private-public default action accept
set firewall name private-public rule 1 destination address 192.168.1.0/24

お好みでログを設定します。

set firewall name private-public rule 1 log enable

インターフェイスファイアウォールを設定します。

set interfaces ethernet eth1 firewall in name private-to-public

ポート開放

内部のホストにsshできるようにしておきます。

set nat destination rule 1 inbound-interface eth0
set nat destination rule 1 protocol tcp
set nat destination rule 1 destination address 192.168.1.2
set nat destination rule 1 port 1234
set nat destination rule 1 translation address 192.168.2.2
set nat destination rule 1 port 22

2重ルーターになっているのでインターネットからアクセスしたい場合はインターネットに接続しているルーターもポート開放します。

VyosにSSHで接続できるようにする

面倒なのでSSHでどこからでもVyOSを設定できるようにします。

set service ssh port 22

NTPの設定

ログ等に正確な時間が記録されるようにVyOSをNTPで時刻合わせします。

set system ntp server ntp.jst.mfeed.ad.jp

DNSIPアドレスの設定

DHCP等は特に設定していないのでホスト名を解決できるようにDNSを設定します。

set system name-server 8.8.8.8

設定の反映と保存

設定を変更したら忘れずに

commit
save

やりましょう。

静的ルーティングの設定

最後に192.168.1.0/24から192.168.2.0/24にアクセスできるように静的ルーティングを設定しておきます。
(PR-S300NEの例)
f:id:akkkix:20170127184035j:plain

まとめ

ネットワークの勉強がてらVyOSでルーターを作ってみましたが案外簡単に設定できて拍子抜けでした。
BGPやOSPF等にも対応しているそうなので別の機会にそちらも試してみたいです。
わざわざ高いルーターを買わなくてもこのような形で勉強できるのは素晴らしいと思います。