这是我们公司的互联网网关路由器。我想在 Cisco 2691 路由器上实现以下功能:
- 所有员工都需要能够不受限制地访问互联网(我已经使用 ACL 阻止了 Facebook,但除此之外,还有完全访问权限)
- 有一个内部 Web 服务器,应该可以从任何内部 IP 地址访问,但只能从少数几个外部 IP 地址访问。基本上,我想将来自网络外部的访问列入白名单。
- 我没有硬件防火墙设备。
到目前为止,Web 服务器还不需要外部访问……或者在任何情况下,偶尔使用 VPN 即可满足需要。因此,以下配置已足够:
access-list 106 deny ip 66.220.144.0 0.0.7.255 any
access-list 106 deny ip ... (so on for the Facebook blocking)
access-list 106 permit ip any any
!
interface FastEthernet0/0
ip address x.x.x.x 255.255.255.248
ip access-group 106 in
ip nat outside
fa0/0
是具有公共 IP 的接口
然而,当我添加...
ip nat inside source static tcp 192.168.0.52 80 x.x.x.x 80 extendable
...为了将网络流量转发到网络服务器,这完全打开了网络服务器。这对我来说很有道理。但这正是我感到困惑的地方。如果我在 ACL 中添加一行以明确允许(白名单)某个 IP 范围……如下所示:
access-list 106 permit tcp x.x.x.x 0.0.255.255 192.168.0.52 0.0.0.0 eq 80
... 那么我该如何阻止其他外部访问网络服务器,同时仍保持内部员工不受限制的互联网访问?
我尝试移除access-list 106 permit ip any any
。结果却是非常短暂的配置:)
类似access-list 106 permit ip 192.168.0.0 0.0.0.255 any
“由外而内”的做法可行吗?
答案1
我认为您的外部访问列表应根据 NAT 操作顺序指南引用 192.168.0.52 的全局内部地址 (xxxx) (http://www.cisco.com/en/US/tech/tk648/tk361/technologies_tech_note09186a0080133ddd.shtml)
因此,以下配置将阻止 facebook,允许来自允许子网 yyyy 的 TCP 访问 xxxx,拒绝发往 xxxx 端口 80 的所有其他请求,然后允许其他所有请求。
access-list 106 deny ip 66.220.144.0 0.0.7.255 any
access-list 106 deny ip ... (so on for the Facebook blocking)
!Where y.y.y.y equals an 'allowed' subnet to hit the webserver, and x.x.x.x equals your outside IP address
access-list 106 permit tcp y.y.y.y 0.0.255.255 host x.x.x.x eq 80
access-list 106 deny tcp any x.x.x.x eq 80
access-list 106 permit ip any any
!
interface FastEthernet0/0
ip address x.x.x.x 255.255.255.248
ip access-group 106 in
ip nat outside