LoginSignup
3
6

More than 5 years have passed since last update.

VyOS : zone-policyを使って自分宛てパケットを制御する(設定サンプル)

Posted at

VyOS Firewall (ACL) 設定は以下2種類があります

  • Interface に設定する
    • eth0 等の各インターフェースに、通過するパケットの向き(local/in/out)に応じ設定
  • zone-policy を使った設定
    • インターフェースを zone に割り当て、zone間のトラフィックに対し設定

Interface に比べ zone-policy は設定行数が多くなりがちですが、

  • eth0 (global) -> eth1 (DMZ) のトラフィックは許可
  • eth0 (global) -> eth2 (internal) のトラフィックは禁止
  • eth1 (DMZ) -> eth2 (internal) のトラフィックは許可

といった、より細かなトラフィック制御が可能となります。

今回は 「インターネットからVyOS自身へのICMPパケットを許可」 というルールを、Interface / zone-policy それぞれで試した際の設定をメモとして記録しておきます。

なお、以下 VyOS フォーラム記事を参考にしました。
Question zone-policy for local-zone

設定サンプル

VyOSバージョン:1.1.7
注意点:

  • Interface設定では、インターネットからVyOS宛てのみ制御しているため、VyOSからのトラフィックは全て許可されます。
  • zone-policy設定では "local-zone = VyOS自身との通信" のみ制御しているため、VyOS経由のトラフィックは全て許可されます。

構成

  • eth0 : Global (インターネット)
  • eth3 : admin (管理ポート)
  • eth0 <-> VyOS : ICMPのみ許可
  • eth3 <-> VyOS : すべて許可

Interface based firewall

vyos-01-interface.png

set firewall name internet_to_global default-action 'drop'
set firewall name internet_to_global rule 1 action 'accept'
set firewall name internet_to_global rule 1 protocol 'icmp'
set interfaces ethernet eth0 address '10.0.0.1/24'
set interfaces ethernet eth0 firewall local name 'internet_to_global'

zone-policy based firewall

vyos-02-zone.png

set zone-policy zone global default-action 'drop'
set zone-policy zone global description "Zone eth0"
set zone-policy zone global interface 'eth0'
set zone-policy zone thisvyos default-action drop
set zone-policy zone thisvyos description "This VyOS itself"
set zone-policy zone thisvyos local-zone
set zone-policy zone admin default-action 'drop'
set zone-policy zone admin description "Zone eth3"
set zone-policy zone admin interface 'eth3'

## Allow anything to/from admin port "eth3"
set firewall name admin_to_thisvyos default-action 'accept'
set firewall name thisvyos_to_admin default-action 'accept'
set zone-policy zone thisvyos from admin firewall name 'admin_to_thisvyos'
set zone-policy zone admin from thisvyos firewall name 'thisvyos_to_admin'

## Allow ICMP from global to this vyos (local)
set firewall name global_to_thisvyos default-action 'drop'
set firewall name global_to_thisvyos rule 1 action 'accept'
set firewall name global_to_thisvyos rule 1 protocol 'icmp'
set zone-policy zone thisvyos from global firewall name 'global_to_thisvyos'

set firewall name thisvyos_to_global default-action 'drop'
set firewall name thisvyos_to_global rule 1 action 'accept'
set firewall name thisvyos_to_global rule 1 protocol 'icmp'
set zone-policy zone global from thisvyos firewall name 'thisvyos_to_global'
3
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
6