注意,本文中部分内容属于IOS防火墙特性集部分。如果你的路由器上并没有防火墙特性集,请不要运行防火墙命令。不过,为了强化安全,笔者推荐你使用支持防火墙的IOS版本。虽然仅有NAT就可以为你的内部网络提供最小程度的保护,但你面向互联网的路由器更易于遭受到黑客的攻击。(以下命令省略了提示符,在每条命令下加了解释或描述。)
enable
进入特权用户模式
config t
进入全局配置模式
ip dhcp excluded-address 192.168.100.1 192.168.100.10
从内部DHCP地址池中排除前10个IP地址
ip dhcp pool Internal-DHCP
创建一个称为“Internal DHCP”的DHCP池
import all
将外部的DHCP设置从ISP导入到“Internal DHCP”池中
network 192.168.100.0 255.255.255.0
定义这个DHCP池运行的网络
default-router 192.168.100.1
为“Internal DHCP”池设置默认网关
ip inspect name cbac tcp
检查向外发出的数据通信,以便于准许对内的响应TCP通信
ip inspect name cbac udp
检查向外发出的数据通信,以便于准许对内的响应UDP通信
interface f0/0
进入接口f0/0, F0/0在这里即是内部的局域网接口
ip address 192.168.100.1 255.255.255.0
将内部的局域网接口IP设置为 192.168.100.1,子网掩码为24位。
ip nat inside
将此接口指定为网络地址转换的内部接口
interface e0/0
进入接口 e0/0. E0/0在这里即是外部的局域网接口。
ip address dhcp 设置外部局域网接口的IP使用DHCP,DHCP由ISP提供。
ip access-group CBAC in
打开对内的状态数据包检查
ip inspect cbac out
打开对内的状态数据包检查,这点对于响应对内通信极为关键。
ip nat outside
将这个接口指定为网络地址转换的内部接口
mac-address ffff.ffff.ffff
可选, 允许用户进行MAC地址欺骗。有一些ISP会锁定MAC地址。
ip nat inside source list NATACL interface e0/0 overload
它将所有的IP地址从NATACL ACL转换到外部的接口和IP地址
ip access-list extended CBAC
定义一个称为CBAC的扩展ACL,用于对内的防火墙规则
permit udp any eq bootps any eq bootpc
准许对内的DHCP。如果不用这个功能,用户的ISP就不能为其分配一个DHCP IP地址。
permit gre any any
如果不这样的话,外发的PPTP VPN无法工作
permit icmp any any echo
准许ping入. 注意,如果你想要保持秘密,请不要使用此功能。
permit icmp any any echo-reply
准许ping出
permit icmp any any traceroute
准许 traceroute
deny ip any any log
如果你想记录所拒绝的进入企图功能,这条命令就很有用。
ip access-list extended NATACL
定义一个称为NATACL的扩展ACL,用于实现NAT
permit ip 192.168.100.0 0.0.0.255 any
准许192.168.100.0/24到达已经进行了网络地址转换的任何地方。
exit
退出 NATACL ACL
exit
退出全局配置模式
wr mem
将配置改变写往永久性闪存
以上是笔者在学习IOS防火墙配置过程中的一点儿体会,希望这些步骤有助于加强安全防御功能。当然不能完全依赖这些东西。