在设置过滤规则时,应当注意以下问题:
第一,如果只是禁止某些协议和应用时,当前面规则一一列出“个别禁止”,并在最后规则中应当设置“全部允许”。例如,除了
ICMP
和蠕虫病毒所使用的端口外,允许其他所有网络应用,则键入下述规则:
admin@NetST> add rule any any 134:139 any drop any
admin@NetST> add rule any any 445 any drop any
admin@NetST> add rule any any 9995:9996 any drop any
admin@NetST> add rule any any 4444 any drop any
admin@NetST> add rule any any 5554 any drop any
admin@NetST> add rule icmp any any any drop any
admin@NetST> add rule any any any any accept any
第二,如果只是允许某些协议和应用时,当前面规则一一列出“个别允许”,并在最后规则中应当设置“全部禁止”。例如,除了常用的网络服务外,禁止其他所有的网络应用,则键入下述规则:
admin@NetST> add rule any any 80 any accept any
admin@NetST> add rule any any 21 any accept any
admin@NetST> add rule any any 110 any accept any
admin@NetST> add rule any any 25 any accept any
admin@NetST> add rule any any 8000 any accept any
admin@NetST> add rule any any 554 any accept any
admin@NetST> add rule icmp any any any accept any
admin@NetST> add rule any any any any drop any
第三,过滤规则通常设置在内网端口,因为默认情况下,所有端口都是拒绝的。
6. 网络地址转换配置
网络地址转换(
NAT
,
Network Address Translation
)是在
IP
地址资源日趋紧张的情况下出现的一种技术,可以将网络内部的
IP
地址映射为一个合法的
IP
地址,实现
Internet
连接共享,甚至可以借助端口映射实现对内部服务器的访问。
NAT
不仅完美地解决
IP
地址不足的问题,而且还能有效地避免来自网络外部的攻击,隐藏并保护网络内部的计算机。
NAT
分为源
NAT
和目的
NAT
两种。源
NAT
是指,转换前源
IP
地址和转换后源
IP
地址不同,数据进入防火墙后,防火墙将其源地址进行转换后再将其发出,使外部看不到数据包原来的源地址。目的
NAT
是指,转换前目的
IP
地址和转换后目的
IP
地址不同(对于
TCP/UDP
协议,也可以改变端口号),数据进入防火墙后,防火墙将其目的
IP
地址进行转换后再将其发出,使看不到数据包原来的目的地址。在进行
NAT
时,如果是一个地址到一个地址的转换,称为一对一模式;如果是一个网段地址对到一个地址的转换,称为多对一的转换;如果是一个网段地址到一个网段地址的转换,称为多对多的转换。
IP
伪装就属于源
ANT
,而端口映射和透明代理等属于目的
NAT
。
NAT
从另一个角度也可分为静态和动态两种。静态方式是明确指定了转换前后的地址和端口的情况,可以有一对一、多对一、多对多等方式。如果实际地址发生变化,
NAT
规则必须相应改变;而动态方式也就是
IP
伪装方式,是一种多到一的源
NAT
转换模式,一般只需指定转换前的地址,转换后的地址则是防火墙的
IP
地址,此地址是可以动态改变的,而
NAT
规则可以不变。静态
NAT
一般用在防火墙拥有固定
IP
地址的情况,而动态
NAT
则用于防火墙拥有动态
IP
地址的情况。
一般来说,源
NAT
多用于从内部网络到外部网络的访问,内部网络地址可以是保留
IP
地址;目的
NAT
多用于外部网络到内部服务器的访问,内部服务器可使用保留
IP
地址。当使用透明模式时,由内到外的访问实际上是一种目的
NAT
,是将访问的目的
IP
和目的端口转换为代理服务器的
IP
和代理端口。
使用目的
NAT
功能时,可实现负载均衡(
Load Balance
,
LB
)功能,假设防火墙外网接口上有一个合法
IP
地址,内部有多个服务器同时提供服务,当将访问防火墙外部接口
IP
的访问请求转换为这一组内部服务器的
IP
地址时,访问请求就可以在这一组服务器进行均衡。
(1)增加NAT规则
若欲将
NAT
规则增加到
NAT
规则表的最后,可使用下述命令:
add nat type ori_src_ip ori_dst_ip ori_port trans_src_ip trans_dst_ip trans_port
命令参数包括
NAT
类型(
type
)、转换前源
IP
地址(
ori_src_ip
)、转换前目的
IP
地址(
ori_dst_ip
)、转换前端口(
ori_port
)、转换后源
IP
地址(
trans_src_ip
)、转换后目的
IP
地址(
trans_dst_ip
)和转换后端口(
trans_port
)。
NAT
类型可以是静态
NAT
(
static
)或动态
NAT
(
dynamic
)。
转换前
IP
地址格式为带掩码的点分格式“
xxx.xxx.xxx.xxx/xx
”,如果是一个网络,必须带“
/xx
”掩码位,否则,就被认为是一台主机,或者用“
any
”表示任意
IP
地址。转换后
IP
地址不带掩码位,若是网络,则采用“
xxx.xxx.xxx.xxx - xxx.xxx.xxx.xxx
”形式。端口主要针对
TCP
协议或
UDP
协议而言,如
http (80)
、
ftp (21)
、
smtp (25)
、
POP3 (110)
等。在输入时,既可以采用名称方式,也可以采用数字方式,用“
any
”表示任意端口,也可用“
xx:xx
”方式表示端口段。在
IP
地址和服务类型前加“
~
”表示取反,即表示除此地址或服务之外的所有其他地址或服务,“
any
”无取反意义。缺省情况下,端口指的是
TCP
协议端口,当端口名或端口号前加大写字母“
U
”时,表示是
UDP
协议端口。
需要注意的是,源
NAT
和目的
NAT
不能同时使用。当转换前端口与转换后端口不同时,就为端口转发。与过滤规则一样,
NAT
规则中的地址
/
服务设置也支持取反(
~
)。
例如,网络防火墙采用静态
IP
地址。若欲将网段
192.168.10.0
映射为
61.159.62.158
,以实现
Internet
连接共享,则执行下述操作:
admin@NetST> add nat
Enter NAT type (static-s, dynamic-d): static
Enter original source IP address (xxx.xxx.xxx.xxx): 192.168.10.0/24
Enter original destination IP address (xxx.xxx.xxx.xxx): any
Enter original port: any
Enter translated source IP address (xxx.xxx.xxx.xxx): 61.159.62.158
Enter translated destination IP address (xxx.xxx.xxx.xxx): any
Enter translated port: any
Add NAT item success!
(2)修改NAT规则
若欲修改在
NAT
规则表的指定位置处的
NAT
地址,键入下述命令:
modify nat number type ori_src_ip ori_dst_ip ori_port trans_src_ip trans_dst_ip trans_port
序号参数“
number
”用于指定欲修改
NAT
规则,其他参数与增加
NAT
规则命令完全相同。当有参数不变时,用“
*
”代替,或者在分段输入时直接敲回车。
例如,若欲修改第
5
条规则,将转换后源
IP
地址设置为
61.159.62.169
,则执行操作如下:
admin@NetST> modify nat
Enter NAT item number: 5
Enter NAT type (static-s, dynamic-d):
Enter original source IP address (xxx.xxx.xxx.xxx):
Enter original destination IP address (xxx.xxx.xxx.xxx):
Enter original port:
Enter translated source IP address (xxx.xxx.xxx.xxx):
Enter translated destination IP address (xxx.xxx.xxx.xxx): 61.159.62.169
Enter translated port:
Add NAT item success!
(3)插入NAT规则
若欲在
NAT
规则表中的指定位置插入
NAT
规则,键入下述命令:
insert nat number type ori_src_ip ori_dst_ip ori_port trans_src_ip trans_dst_ip trans_port
序号参数“
number
”用于指定欲插入的位置,插入的
NAT
规则即成为第
number
条
NAT
规则,其他参数与增加
NAT
规则命令完全相同。
例如,若欲插入第
2
条规则,并且将内部服务器
192.168.100.10
转换为合法
IP
地址
61.159.62.160
,则执行下述操作:
admin@NetST> insert nat
Enter NAT item number: 2
Enter NAT type (static-s, dynamic-d): static
Enter original source IP address (xxx.xxx.xxx.xxx): any
Enter original destination IP address (xxx.xxx.xxx.xxx): 192.168.100.10
Enter original port: any
Enter translated source IP address (xxx.xxx.xxx.xxx): any
Enter translated destination IP address (xxx.xxx.xxx.xxx): 61.159.62.160
Enter translated port: any
Add NAT item success!
(4)移动NAT规则
若欲移动
NAT
规则中的规则,执行下述命令:
move nat number step
参数包括
NAT
序号(
number
)和移动步数(
step
)。命令将
NAT
的第
number
条规则移动
step
位,
step
为正是后移,为负是前移。如果移动步数超过了第一条或最后一条规则,就将该规则设置为第一条或最后一条规则。
例如,将第
5
条规则向前移动两步,则执行下述操作:
admin@NetST> move nat
Enter nat number: 5
Enter step: -2
Move nat sueecss!
(5)显示NAT规则
若欲显示
NAT
规则表,可执行下述命令:
Show nat [ number ]
参数“
number
”用于指定显示的
NAT
规则号或范围(使用“
-
”分隔)。若指定
NAT
规则号,则只显示指定的
NAT
规则信息;若不具体指定规则号,则显示所有
NAT
规则信息。
例如,若欲查看第
3
条规则,可执行下述命令:
admin@NetST> show nat 3
No. Type Original_src_IP/Mask Trans_src_IP/Mask
Original_dst_IP/Mask Trans_dst_IP/Mask
Original_port Trans_ port
3 STATIC 10.10.0 .0/24 192.168.1.100
ANY ANY
ANY ANY
(6)删除NAT规则
若欲删除某条
NAT
规则,可执行下述命令:
delete nat number
其中,参数“
number
”用于指定删除的规则。若欲删除多个
NAT
规则,可以使用“
-
”指定范围,或使用空格指定若干规则。
例如,若欲删除第
3
条规则,可执行下述操作:
admin@NetST> delete nat
Enter NAT item number: 3
It will delete NAT item 3. Are you sure (y/n) ? y
Delete NAT item success!
又如,若欲删除第
1~3
条规则,可执行下述操作:
admin@NetST> delete nat 1-3
It will delete NAT item 1-3. Are you sure (y/n) ? y
Delete NAT item success!
再如,若欲删除第
1
、
3
条规则,可执行下述操作:
admin@NetST> delete nat 1 3
It will delete NAT item 1 3. Are you sure (y/n) ? y
Delete NAT item success!
(7)删除全部NAT规则
若欲删除所有的
NAT
规则,使用下述命令:
Delall nat
例如,若欲删除所有规则,可执行下述操作:
admin@NetST> delall nat
It will delete all NAT item. Are you sure (y/n) ? y
Delete all NAT item success!
admin@NetST> show nat
Error: No any NAT item!
(8)使NAT规则起作用
若欲启用某条
NAT
规则,使用下述命令:
enable nat number
例如,若欲启用第
5
条规则,可执行下述操作:
admin@NetST> enable nat
Enter number: 5
Enable nat success!
(9)使NAT规则不起作用
若欲禁用某条
NAT
规则,使用下述命令:
disable nat number
使用“
show nat
”命令时,在不起作用的规则前有“
*
”号标记。
例如,若欲禁用第
2~5
条和第
7
条规则,可执行下述操作:
admin@NetST> disable nat 2-5 7
Disable nat success!
(10)使用NAT实现负载均衡
只需将外网接口的地址转换为不同内部服务器的地址,即可实现简单的负载均衡。
例如,网络的合法
IP
地址为“
61.159. 62.163 ” ,Web
服务端口号为默认的“
80
”,提供
Web
服务的服务器的内部
IP
地址为
192.168.100.10
和
192.168.100.20
,端口号均为
8000
。若欲借助防火墙实现负载均衡,执行下述操作:
admin@NetST> add nat
Enter NAT type (static-s, dynamic-d): static
Enter original source IP address (xxx.xxx.xxx.xxx/xx): any
Enter original destination IP address (xxx.xxx.xxx.xxx/xx): 61.159.62.163
Enter original port: 80
Enter translated source IP address (xxx.xxx.xxx.xxx/xx): any
Enter translated destination IP address (xxx.xxx.xxx.xxx/xx): 192.168.100.10 192.168.100.20
Enter translated port: 8000
Add NAT item success!
(11)常见问题
●
如何配
NAT
规则使内网可以访问外部
Internet
?
要由内网访问外网,在
NAT
情况下由于发起方是内部机器,需要修改数据包中的源地址,因此称为源
NAT
,配置
NAT
规则时需要改变源地址,目的地址不变,假设内网
IP
为
192.168.1.0/24
,防火墙外部地址为
10.0.0
.1
(这也是一个保留地址,在实际中根据实际情况取实际值),如用以下命令:
“add nat static 192.168.1.0/24 any any 10.0.0 .1 any any”
即可实现。
●
如何配
NAT
规则使外网可以访问
DMZ
上的
Internet
服务器?
要由外网访问
DMZ
区,在
NAT
情况下由于发起方是外部机器,而
DMZ
区服务器的地址往往是保留地址,因此需要修改数据包中的目的地址,因此称为目的
NAT
,配置
NAT
规则时需要改变目的地址,源地址不变,假设
DMZ
服务器
IP
为
172.16.0.2
,防火墙外部地址为
10.0.0
.1
(这也是一个保留地址,在实际中根据实际情况取实际值),如用以下命令:
“add nat static any 172.16.0.2 80 any 10.0.0 .1 80”
即可实现外网访问
DMZ
的
WWW
服务器,如果端口不同,称为端口映射,如用以下命令:
“add nat static any 172.16.0.2 8080 any 10.0.0 .1 80”
则将对
8080
端口的访问转到
80
端口上。
当然,在过滤规则中还要增加允许访问
DMZ
服务器的相应规则,如:
“add rule tcp any 172.16.0.2 80 external accept”
注意:在指定目的
NAT
规则时,端口一般不要设置为
“any”
,而必须明确指定,否则外界就可能访问到内部服务器开的一些危险端口从而取得服务器的控制权。如果只允许某些外部
IP
访问
DMZ
服务器,
NAT
规则也应该按所述
NAT
规则形式设置,然后在过滤规则表中进行过滤处理,以免和下面的情况冲突。
●
如何配
NAT
规则使内网可以访问
DMZ
上的
Internet
服务器?
要由内网访问
DMZ
网,在
NAT
情况下由于发起方是内部机器,地址范围可以确定,而
DMZ
服务器的地址往往是保留地址,因此需要修改数据包中的目的地址,因此称为目的
NAT
,配置
NAT
规则时需要改变目的地址,源地址不变,假设内部机器地址范围为:
192.168.1.0/24
,
DMZ
服务器
IP
为
172.16.0.2
,防火墙
DMZ
网卡地址为
172.16.0.1
如用以下命令:
“add nat static 192.168.1.0/24 172.16.0.2 80 192.168.1.0/24 172.16.0.1 80”
即可实现内网访问
DMZ
区的
WWW
服务器,注意此规则中的倒数第二个参数可以使用防火墙的外网卡、
DMZ
网卡地址,但不要用内网卡地址,否则
Java
控制台有可能不能连接防火墙,因为这样会使防火墙不能区分
Java
控制台是要连接防火墙还是
DMZ
服务器。
如果端口不同,称为端口映射,如用以下命令:
“add nat static 192.168.1.0/24 172.16.0.2 8080 192.168.1.0/24 172.16.0.1 80”
则将对
8080
端口的访问转到
80
端口上。
当然,在过滤规则中还要增加允许访问
DMZ
服务器的相应规则,如:
“add rule tcp 192.168.1.0/24 172.16.0.2 80 internal accept”
注意:此规则与问题
14
中的规则的差异在于源地址是有范围的,而不是
any
,两种情况下防火墙的处理是有较大差别的,在配置规则时必须注意。
●
由外网访问内部服务器的
NAT
规则已经配置正确,为什么还不能访问?
请检查在过滤规则表中是否已经加入允许接受目的地址为服务器内部地址,端口为相关服务的规则;另外检查安全选项中是否设置了
“SYN”
项,此项设置是禁止外部机器向内部机器连接,在向外提供服务的情况下需要删除。
7. MAC/IP地址绑定配置
在网络防火墙上,将拥有特殊权限的
IP
地址与其网卡的
MAC
地址进行绑定,即可有效地控制对
IP
地址的盗用。由于网卡的
MAC
地址具有唯一性,也就是说,即使恶意用户盗用了其他用户的
IP
地址,但由于其网卡的
MAC
地址与访问列表并不相符,因此,仍然无法实现对其他网络的访问,自然也就无法享有合法用户的特殊权益,从而保障网络访问安全。
(1)增加MAC/IP地址绑定项
若欲将
MAC/IP
绑定项添加到
MAC/IP
绑定表的最后,使用下述命令:
add mac MAC_addr IP_addr
其中,参数“
MAC_addr
”表示
MAC
地址,格式为“
xx:xx:xx:xx:xx:xx
”。参数“
IP_addr
”表示
IP
地址,格式为点分格式“
xxx.xxx.xxx.xxx
”,不带“
/xx
”掩码位。
例如,若欲在防火墙上绑定
IP
地址
192.168.100.10
和
MAC
地址
00:11:22:33:44:55
,则执行下述操作:
admin@NetST> add mac
Enter MAC address (xx:xx:xx:xx:xx:xx): 00:11:22:33:44:55
Enter IP address (xxx.xxx.xxx.xxx): 192.168.100.10
Add MAC-IP item success!
需要注意的是,以上操作只在系统数据库里增加
MAC/IP
绑定信息,若欲使
MAC/IP
绑定实际生效,还必须在安全选项“
MAC/IP
”中设置。
(2)显示MAC/IP绑定项
若欲显示已经绑定的
MAC/IP
绑定表,使用下述命令:
show mac [ number ]
参数“
number
”用于指定欲显示的
MAC/IP
绑定项序号或序号范围(用“
-
”分隔)。若指定序号,只显示指定的
MAC/IP
绑定项;若不指定序号,则显示所有
MAC/IP
绑定项信息。
例如,若欲显示所有绑定的
MAC/IP
绑定表,可执行下述操作:
admin@NetST> show mac
No. MAC IP
1 00:11:22:33:44:11 192.168.100.10
2 00:11:22:33:44:22 192.168.100.20
3 00:11:22:33:44:33 192.168.100.30
4 00:11:22:33:44:44 192.168.100.40
(3)删除MAC/IP绑定项
若欲删除指定的
MACIP
绑定项,使用下述命令:
delete mac number/IP/MAC
可以使用序号、
IP
地址或
MAC
地址指定欲删除的
MAC/IP
绑定项。
例如,若欲删除对
IP
地址
192.168.100.10
的绑定,可执行下述操作:
admin@NetST> delete mac
Enter MAC or IP address or number: 192.168.100.10
It will delete MAC-IP item 192.168.100.10. Are you sure (y/n)? y
Delete MAC-IP item success!
(4)删除全部MAC/IP绑定项
若欲删除所有
MAC/IP
绑定项,使用下述命令:
delall mac
例如,若欲删除所有
MAC/IP
地址绑定项,可执行下述操作:
admin@NetST> delall mac
It will delete all MAC-IP item. Are you sure (y/n)? y
Delete all MAC-IP item success!
admin@NetST> show mac
Error: No items!
本文出自 “刘晓辉” 博客,谢绝转载!