お久しぶりです。
訳あって家のネットワークを分ける必要がでてきたので、今日はVyOSを使ってルーターを作ってみます。
VyOSとは
- Vyatta からフォークしたオープンソースのネットワーク OS
- Debian GNU/Linuxを基板として開発されている
今日の目標
トポロジ
いわゆる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重ルーターになっているのでインターネットからアクセスしたい場合はインターネットに接続しているルーターもポート開放します。
NTPの設定
ログ等に正確な時間が記録されるようにVyOSをNTPで時刻合わせします。
set system ntp server ntp.jst.mfeed.ad.jp
設定の反映と保存
設定を変更したら忘れずに
commit save
やりましょう。
静的ルーティングの設定
最後に192.168.1.0/24から192.168.2.0/24にアクセスできるように静的ルーティングを設定しておきます。
(PR-S300NEの例)