# 思科ADSL/PPPoE拨号 封禁IP完整配置

\# 思科ADSL/PPPoE拨号（Dialer接口）封禁 206.82.0.0/16 完整配置  
\## 核心原理  
ADSL拨号虚拟接口 `Dialer1` 是外网接口，\*\*`in` 方向过滤公网主动流入的流量\*\*，用\*\*扩展ACL（100~199）\*\* 精准阻断源网段 `206.82.0.0/16` 所有访问内网的数据包，不影响内网主动向外访问该网段。

\### 网段反掩码换算  
`206.82.0.0/16` 掩码 `255.255.0.0` → 反掩码 `0.0.255.255`

\## 完整可复制配置（适配你现有Dialer1拨号环境）  
```ios  
conf t  
! 1. 创建扩展ACL，拒绝206.82.0.0/16公网主动访问内网  
access-list 160 deny ip 206.82.0.0 0.0.255.255 any log  
! 放行所有其他公网正常流量（ACL末尾隐含deny any，必须加permit ip any any）  
access-list 160 permit ip any any

! 2. 绑定到ADSL拨号外网接口Dialer1，入站过滤in（公网进来的包）  
interface Dialer1  
 ip access-group 160 in  
exit  
end  
```

\## 两种需求区分（按需选择）  
\### 需求1：仅禁止206.82.0.0/16 主动连入你的内网（推荐上面配置）  
\- 效果：公网 `206.82.x.x` 无法发起TCP/UDP连接访问你的内网服务器；  
\- 内网设备主动去访问 `206.82.x.x` 不受限制，可正常建立连接。

\### 需求2：双向完全阻断（内网也不能访问206.82.0.0/16）  
额外在Dialer1出站out方向追加规则：  
```ios  
conf t  
access-list 160 deny ip any 206.82.0.0 0.0.255.255 log  
interface Dialer1  
 ip access-group 160 out  
end  
```

\## 结合你之前业务ACL150兼容方案（无需新建ACL，直接复用）  
如果你已经在用 `access-list 150` 做外网入站控制，直接追加封禁规则到现有ACL头部（ACL从上到下匹配，deny要放在permit前面）：  
```ios  
conf t  
! 在原有ACL最顶部插入封禁网段  
access-list 150 deny ip 206.82.0.0 0.0.255.255 any log  
! 下面保留你原有所有规则不变  
access-list 150 permit udp any host 218.1.210.220 range 16000 20000  
access-list 150 deny udp any host 218.1.210.220 eq 5060  
access-list 150 permit ip any any  
! 接口绑定不变，已经绑定过Dialer1 in无需重复操作  
end  
```

\## 校验与排错命令  
1\. 查看ACL匹配计数，确认206.82网段流量被拦截（匹配数字持续增长代表生效）  
```ios  
show access-list 160  
show access-list 150  
```  
2\. 查看Dialer接口ACL绑定状态  
```ios  
show run interface Dialer1  
```  
3\. 实时查看被拦截的数据包日志（配置里加了`log`关键字）  
```ios  
terminal monitor  
```  
4\. 临时清空ACL匹配计数  
```ios  
clear access-list counters 160  
```

\## 关键注意事项  
1\. \*\*方向不能写反\*\*：`ip access-group XXX in` 是过滤公网进来的流量；写out只会拦截内网主动对外访问，无法阻止外部主动扫描攻击。  
2\. ACL顺序优先级：deny网段规则必须放在所有permit规则\*\*最前面\*\*，否则会被放行规则先匹配，封禁失效。  
3\. `log` 参数作用：记录每一条被丢弃的数据包源目IP、协议，方便事后溯源攻击行为，生产环境建议保留。  
4\. ADSL拨号接口固定为Dialer1，物理ATM/以太网接口不需要绑定ACL，所有外网流量统一经过Dialer虚拟接口过滤。