root/vyos
vyos/vyos
##进入configure 模式
vyos@vyos$ configure
vyos@vyos#
退出configure 模式
##exit
###
set service ssh port 22
## 提交服务
commit
进入configure模式之后,每输入一个命令就会echo一个“[edit]”,
指明现正处于编辑模式。在完成你想要的设置后,
要commit,再save才能保存配置信息:
查看vyos的配置命令
#show configuration commands
如果你想删掉某个配置项,
把set改为delete就行,最后commit和save。
在configure模式中,由于不允许未保存而exit,一般都要commit、save才能exit:
如果你想强行退出,输入exit discard即可:
VyOS维护了一份配置变更表,可以通过在configure模式中输入compare [TAB]查看:
可以通过指定Revision的编号查看变化信息:
关于VyOS的一些术语:
一 防火墙的state 的概念
连接追踪中的状态, 他可以记录tcp、udp、icmp等多种协议的状态连接
包括以下几个状态:
NEW: 新建立一个会话
ESTABLISHED:已建立的连接
RELATED: 有关联关系的连接
INVALID: 无法识别的连接
注意
进来的连接只允许的状态有 new established 这两种状态
出去的连接状态只允许有 established
二 vyos接口的三个防护方向
vyos每个接口的防护都可以分为三个方向分别是in 、out和local
in 是指进入但目的地址不是该接口地址的流量方向;
out 是指流出但源地址不是该接口地址的流量方向;
local 是指该接口自身的地址
另外对于vyos我们一般把出外网的接口互联的外面定义为Wan或者untrust,内网的网关接口互联的服务器定义为Lan或者trust,自身的接口地址定义为local
流量方向一般包括如下几个:Wan->local,Wan->Lan,Lan->local,Lan-Wan
对于连接外网的端口来说防护策略的in就是Wan-Lan了,local就是Wan->local,out则是指Lan->Wan
三 vyos 防火墙
每个防火墙都有个默认的流量控制策略,一般情况下从Wan到Lan方向的防火墙默认策略都会配置为drop,这条规则最后匹配。此外每条规则都对应一个rule值,这个值越小的越优先匹配,因此在设置规则时需要合理优化才行。
e.g 配置wan到lan方向的策略
==配置默认rule
set firewall name WanToLan default-action 'drop' ---每个action都有三个,包括drop reject和accept,drop和reject的区别在于drop会直接丢掉,而reject会在丢掉的同时通知对方
==需要配置一个状态策略允许状态为established和related的连接,如果不配置这条,在内网访问外网时会不通的。
set firewall name WanToLan rule 1 action 'accept'
set firewall name WanToLan rule 1 state established 'enable'
set firewall name WanToLan rule 1 state related 'enable'
==配置允许通过的rule(可以配置源地址、目的地址、目的端口、协议、状态甚至是时间等)
set firewall name WanToLan rule 100 action 'accept'
set firewall name WanToLan rule 100 destination address '192.168.252.2'
set firewall name WanToLan rule 100 source address '10.201.102.133'
e.g 配置wan到local的策略
set firewall name WanToLocal default-action 'drop'
set firewall name WanToLocal rule 100 action 'accept'
set firewall name WanToLocal rule 100 source address '10.201.102.133'
最后配置一些防火墙通用的防火墙配置
set firewall all-ping 'enable'
set firewall broadcast-ping 'disable'
set firewall config-trap 'enable'
set firewall ipv6-receive-redirects 'disable'
set firewall ipv6-src-route 'disable'
set firewall log-martians 'enable'
set firewall receive-redirects 'disable'
set firewall send-redirects 'disable'
set firewall source-validation 'disable'
set firewall syn-cookies 'enable'
四 将防火墙应用到端口上
在in方向配置WanToLan策略
set interfaces ethernet eth0 firewall in name 'WanToLan'
在local上配置WanToLocal策略
set interfaces ethernet eth0 firewall local name 'WanToLocal'
五 vyos中firewall的group概念
vyos中firewall的group是将一组相似属性的东西归结起来,给防火墙的rule去引用,group分为address group,network group,port group。
address group是将一类ip地址做成一个组,比如说内网某台机器只允许外网的某些ip访问,那可以将这写ip做成一个组,然后引用到规则中,下次要添加新的ip时只需要修改对应的组即可,不用再去加新的规则。
network group是将一些网段地址做成一个组;
port group是将某些端口做成一个组;
e.g 内网机器192.168.252.2 的22 1521 23 1433等端口可以被外网的10.192.192.35,10.192.28.1的服务器和10.201.102.0/24 10.201.178.0/24的网段访问,那么我们可以先做两个group,(由于在同一个rule里面不能同时引用address-group和network-group,做了一个变通,将单个ip加上32位掩码后变为network-group)
set firewall group network-group wan-lan-network network '10.201.178.0/24'
set firewall group network-group wan-lan-network network '10.201.102.0/24'
set firewall group network-group wan-lan-network network '10.192.192.35/32'
set firewall group network-group wan-lan-network network '10.192.28.1/32'
set firewall group port-group net-lan-port port '22'
set firewall group port-group net-lan-port port '1521'
set firewall group port-group net-lan-port port '23'
set firewall group port-group net-lan-port port '1433'
在将group引用到rule中,如下:
set firewall name WanToLan rule 1009 action 'accept'
set firewall name WanToLan rule 1009 destination address '192.168.252.2'
set firewall name WanToLan rule 1009 destination group port-group 'net-lan-port'
set firewall name WanToLan rule 1009 source group network-group 'wan-lan-network'
后期如果有新的网段要访问这些地址,这可以直接将网段放到对应的network-group上
https://wiki.vyos.net/wiki/Main_Page
https://blog.51cto.com/236859/1894466