参考サイト:https://docs.vyos.io/ja/latest/quick-start.html
set firewall global-options state-policy established action accept
set firewall global-options state-policy related action accept
set firewall global-options state-policy invalid action drop
通信の確立を許可がまず必須
related: 既存の接続に関連して生成されたパケットを意味します。例えば、FTPのデータチャネルや、ICMPエラーメッセージが該当します。これらは元の接続と関連しているため、セキュリティ上許可しても安全と見なされます。
ファイアウォールポリシーを作る(とりあえず全許可)
set firewall ipv4 name accept_all default-action accept
※過去のバージョンでは作ったファイアウォールポリシーをインターフェイスに割り当てる
accept_allの部分は任意のポリシー名
ゾーン間に対してポリシーを適用する
set firewall zone trust default-action drop
set firewall zone trust interface eth1
set firewall zone untrust default-action drop
set firewall zone untrust from trust firewall name accept_all
set firewall zone interface eth0
上記によりtrustからuntrust
設定メモ
vyos@vyos:~$ configure
[edit]
vyos@vyos# show
firewall {
global-options {
all-ping enable
broadcast-ping disable
state-policy {
established {
action accept
}
related {
action accept
}
}
}
ipv4 {
forward {
filter {
default-action accept
}
}
name accept_all {
default-action accept
}
}
zone trust {
default-action drop
interface eth1
}
zone untrust {
default-action drop
from trust {
firewall {
name accept_all
}
}
from untrust {
firewall {
name accept_all
}
}
interface eth0
}
}
interfaces {
ethernet eth0 {
address 192.168.0.10/24
hw-id 00:0c:29:bc:b8:23
offload {
gro
gso
sg
tso
}
}
ethernet eth1 {
address 192.168.16.1/24
hw-id 00:0c:29:bc:b8:2d
offload {
gro
gso
sg
tso
}
}
loopback lo {
}
}
nat {
source {
rule 20 {
description "eth1 to eth0"
outbound-interface {
name eth0
}
source {
address 192.168.16.0/24
}
translation {
address 192.168.0.10
}
}
}
}
protocols {
static {
route 0.0.0.0/0 {
next-hop 192.168.0.1 {
}
next-hop 192.168.15.1 {
}
}
route 192.168.16.0/24 {
interface eth1 {
}
}
}
}
service {
ntp {
allow-client {
address 127.0.0.0/8
address 169.254.0.0/16
address 10.0.0.0/8
address 172.16.0.0/12
address 192.168.0.0/16
address ::1/128
address fe80::/10
address fc00::/7
}
server time1.vyos.net {
}
server time2.vyos.net {
}
server time3.vyos.net {
}
}
ssh {
}
}
system {
config-management {
commit-revisions 100
}
console {
device ttyS0 {
speed 115200
}
}
host-name vyos
login {
user vyos {
authentication {
encrypted-password $6$rounds=656000$vhukCvIkmxY8p2W1$9jQ33wvdv0MWJm6w14UJm4ks4USYoQ7pCqj89Kc2uhjhjE5Xm8dgfnubQ.23Gty9mooHR9CbYxbHt1NMW1SA/.
}
}
}
syslog {
global {
facility all {
level info
}
facility local7 {
level debug
}
}
}
}
[edit]
バージョン差異について