如果你的路由器上并没有防火墙特性集,请不要运行防火墙命令。虽然仅有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 ××× 无法工作

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
将配置改变写往永久性闪存