Linux宝库vEO;S:L
MikroTik RouterOS应用事例讲解
p-}@w:H7Jm&lo%i0
;t&vL@/F)z\c0 Linux宝库 q
e]b4CSk
Linux宝库#r6u*F D5I;TM/]:t'U
pc#L;F,DP*JlV0 Linux宝库c\A%y b6?9Vw
导航:
9yJe'R_)t5g*c.CQe j0
`-E3t$PKhDL0防火墙配置规则防火墙Tracking设置双线备份自动切换配置源地址双线应用配置端口策略路由配置透明传输整形器配置电信网通流量控制动态流量控制PPTP借线配置Hotspot服务器配置PPPoE服务器配置EoIP隧道配置User Manager操作配置Webbox配置无线网络PPTP远程办公互联配置1:1NAT实例 Linux宝库dq&U~2PL*R
-L"NR+fs7J0防火墙规则Linux宝库7vDm#?5{'D k*IM
下面是三条预先设置好了的chains,他们是不被能删除的:Linux宝库\2ET!m3O
- input–用于处理进入路由器的数据包,即数据包目标IP地址是到达路由器一个接口的IP地址,经过路由器的数据包不会在input-chains处理。
- forward–用于处理通过路由器的数据包
- output–用于处理源于路由器并从其中一个接口出去的数据包。
他们具体的区别如下:
D/BCOzC0Linux宝库;B~T+X
Y8??.X7|+j
当处理一个chain(数据链),策略是从chain列表的顶部从上而下执行的。如果一个数据包满足策略的条件,这时会执行该操作。
A-Bc:I&q0我们来看看防火墙过滤原则:Linux宝库D+B]h0f+w+_g
Linux宝库(`j2h"Ab|M'l
Linux宝库e9q9l}#`T
现在我来看事例中的防火墙规则:
:r!?
x0Z8L0我先从input链表开始,这里是对所有访问路由的数据进行过滤和处理:Linux宝库d9IDWBF#w{g
Linux宝库.|2v6xQ'j(DlB
从input链表的第一条开始执行,这里一共有三条规则:
I#zXR;n)X
l ?00 ;;; 接受你信任的IP地址访问(src-address=填写信任IP,默认允许任何地址)Linux宝库 L)Q7j T[7x*X$D
chain=input src-address=192.168.100.2 action=accept
&GX%e,H$wM/n1{01 ;;; 丢弃非法连接
so5tC;@;LM0 chain=input connection-state=invalid action=dropLinux宝库0K@6QlK9?bPS6UI!x
2 ;;; 丢弃任何访问数据
`X9G3ZYdr0 chain=input action=drop
/\ Z6P^3T#_r q0下面是forward链表
p$`9i/K f8]/C2[0Linux宝库f.o-lx|!u
forward链表,一共有7条规则,包括两个跳转到自定义链表ICMP和virus链表:Linux宝库2SrC/F8^9V@P
0 ;;; 接受已建立连接的数据
D |K
Eh5Sj5W0 chain=forward connection-state=established action=accept
s&jUK8GT-D:U0 1 ;;; 接受相关数据 Linux宝库0K0]GKd
chain=forward connection-state=related action=accept
Ca4hM:S-WT0 2 ;;; 丢弃非法数据包 Linux宝库d0P8?l,Z
chain=forward connection-state=invalid action=drop
?)fe/J!o^"D0 3 ;;; 限制每个主机TCP连接数为80条
;qO~g)x
X%}M.T0 chain=forward protocol=tcp connection-limit=80,32 action=drop
NKEKr!}R0 4 ;;; 丢弃掉所有非单播数据Linux宝库;N{bOF*m
chain=forward src-address-type=!unicast action=dropLinux宝库3V(|
\L7{7n*@
?-|8q4S
5 ;;; 跳转到ICMP链表Linux宝库0m+fx7@V5rY1}
chain=forward protocol=icmp action=jump jump-target=ICMP
vL!m#A R2SzW U0 6 ;;; 跳转到病毒链表 Linux宝库:d.{0CH4N
chain=forward action=jump jump-target=virus
/g1k_ @n#~rA'q["s0forward工作过程如下:Linux宝库
]R8Vc;AVy7nY
\c#S2|A0在自定义链表ICMP中,是定义所有ICMP(Internet控制报文协议),ICMP经常被认为是IP层的一个组成部分。它传递差错报文以及其他需要注意的信息。ICMP报文通常被IP层或更高层协议(TCP或UDP)使用。例如:ping、traceroute、trace TTL等。我们通过ICMP链表来过滤所有的ICMP协议:Linux宝库En:[Gd)T
Linux宝库 N|.{n*B
ICMP链表操作过程:Linux宝库oh [3iY:V-kU|
0 ;;; Ping应答限制为每秒5个包
`QdG'DJ f%Z0 chain=ICMP protocol=icmp icmp-options=0:0-255 limit=5,5 action=accept
QyPa:R;Lv#^a7`
Xn0 1 ;;; Traceroute限制为每秒5个包
7dB;\@il'Xy(?0 chain=ICMP protocol=icmp icmp-options=3:3 limit=5,5 action=accept
&kh:K`$tKJ,kb0 2 ;;; MTU线路探测限制为每秒<SPAN lang=EN-US style="FONT-SIZE: 9pt; COLOR: maroon; FONT-FAMILY:
;Poq/g"A8|:WP#q!`0