m
M
o:f/e:rhJ0MikroTik RouterOS应用事例讲解Linux宝库fE1A4oxl
Linux宝库-xj _#tNvD
OZMH*~f/G*G8y0
2DGI&_lRL0 Linux宝库.PWD!e[#ugg
Linux宝库!M#{1tW RP
导航:Linux宝库!|3M8EW6K,BE.V8K5{
{r f~,ly`u0防火墙配置规则防火墙Tracking设置双线备份自动切换配置源地址双线应用配置端口策略路由配置透明传输整形器配置电信网通流量控制动态流量控制PPTP借线配置Hotspot服务器配置PPPoE服务器配置EoIP隧道配置User Manager操作配置Webbox配置无线网络PPTP远程办公互联配置1:1NAT实例
?7]SL2[4td,frfs[0 Linux宝库'qk | w+c5k"?r$`]8dj
防火墙规则
Re$qx&F)nq5mc0下面是三条预先设置好了的chains,他们是不被能删除的:Linux宝库P)U4lO0? a
- input–用于处理进入路由器的数据包,即数据包目标IP地址是到达路由器一个接口的IP地址,经过路由器的数据包不会在input-chains处理。
- forward–用于处理通过路由器的数据包
- output–用于处理源于路由器并从其中一个接口出去的数据包。
他们具体的区别如下:
+u7Q"\6y
dR+WM%w0
S-]4^X3p ^T1Z;W E0当处理一个chain(数据链),策略是从chain列表的顶部从上而下执行的。如果一个数据包满足策略的条件,这时会执行该操作。
Gl4r2T7T0我们来看看防火墙过滤原则:Linux宝库 UyPn.b'fB
Linux宝库P-}(g`9{0Sw-|
Linux宝库6Zfu e(oKuR C
现在我来看事例中的防火墙规则:
i2t$[ Mi#Jt_0我先从input链表开始,这里是对所有访问路由的数据进行过滤和处理:Linux宝库vyM~7g$T-T
lSN&{ fwK4~:z3L0从input链表的第一条开始执行,这里一共有三条规则:Linux宝库L-n@Y4cb
0 ;;; 接受你信任的IP地址访问(src-address=填写信任IP,默认允许任何地址)Linux宝库 M0NaN+Eo5T
chain=input src-address=192.168.100.2 action=acceptLinux宝库JA J%@7i.r:}o+`
1 ;;; 丢弃非法连接
z:MeZ#_Rx2GS0 chain=input connection-state=invalid action=dropLinux宝库&}D-O`6? wP}L
2 ;;; 丢弃任何访问数据
N&[BHa:h0 chain=input action=dropLinux宝库:{j[8S I Ym
下面是forward链表
[5tzf?"w r+t9~-c0
3qa#FN9m"y0c6V7i_0forward链表,一共有7条规则,包括两个跳转到自定义链表ICMP和virus链表:Linux宝库%g FYzS6}6c w_4N[
0 ;;; 接受已建立连接的数据
8bH|&c+_CexO0 chain=forward connection-state=established action=accept
R!eUot0 1 ;;; 接受相关数据
dZ0fx5D$T4OW(X:a)Cd0 chain=forward connection-state=related action=accept
:z/}*SQc0?;^&M/uV0 2 ;;; 丢弃非法数据包 Linux宝库f/~*iq-I6xa eO*Jh
chain=forward connection-state=invalid action=drop
C6X%Ui*n;E
X J0 3 ;;; 限制每个主机TCP连接数为80条 Linux宝库 f3r1P&K*SqQh{-T
chain=forward protocol=tcp connection-limit=80,32 action=drop
'k?:mE
uNd9k0 4 ;;; 丢弃掉所有非单播数据Linux宝库8ix'K
kd(E;Oxw
chain=forward src-address-type=!unicast action=dropLinux宝库Om"`R D$\,@
5 ;;; 跳转到ICMP链表Linux宝库3uH:]U5zW
chain=forward protocol=icmp action=jump jump-target=ICMP
f!R!@-hze8yC/wp0 6 ;;; 跳转到病毒链表
~Cpm
S,E1Tx0 chain=forward action=jump jump-target=virus
6k;X'^,sSaN0forward工作过程如下:Linux宝库;pr'fBU6B'N
k/iW
Linux宝库?!j] I
c^eV
在自定义链表ICMP中,是定义所有ICMP(Internet控制报文协议),ICMP经常被认为是IP层的一个组成部分。它传递差错报文以及其他需要注意的信息。ICMP报文通常被IP层或更高层协议(TCP或UDP)使用。例如:ping、traceroute、trace TTL等。我们通过ICMP链表来过滤所有的ICMP协议:Linux宝库0B8_T}5w#w0}@
Linux宝库%P-Mh*WS#|$dM
ICMP链表操作过程:
mTIZ'BM(H00 ;;; Ping应答限制为每秒5个包 Linux宝库|Mu0zE-]p
chain=ICMP protocol=icmp icmp-options=0:0-255 limit=5,5 action=acceptLinux宝库0S.qm{/F-t
J~,c:yJ8h
1 ;;; Traceroute限制为每秒5个包
R|8o^;dLSt0 chain=ICMP protocol=icmp icmp-options=3:3 limit=5,5 action=acceptLinux宝库*vTi6hrr:_"p
f
2 ;;; MTU线路探测限制为每秒<SPAN lang=EN-US style="FONT-SIZE: 9pt; COLOR: maroon; FONT-FAMILY:
/Jjdu3a0