Linux iptables配置:PPTPD服务器的包过滤规则设定
版权申诉
40 浏览量
更新于2024-09-06
收藏 19KB DOCX 举报
该文档是关于Linux环境下使用pptpd服务并结合iptables进行包过滤的配置说明。用户希望实现所有客户端可以访问内网的80端口,而特定客户端才能访问其他端口。在尝试配置iptables规则后,遇到了访问权限的问题,即所有IP都能访问所有端口或所有端口都无法访问。
在iptables的配置中,`FORWARD`链用于处理通过本机转发的数据包。根据提供的iptables配置文件,可以看到以下关键规则:
1. `-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT`: 允许已建立连接和相关连接的数据包通过。
2. `-A INPUT -p icmp -j ACCEPT`: 允许ICMP协议的数据包通过,这对于ping和其他网络诊断工具是必要的。
3. `-A INPUT -p gre -j ACCEPT`: 允许GRE(通用路由封装)协议的数据包通过,这可能是pptpd服务所需要的。
4. `-A INPUT -i lo -j ACCEPT`: 允许来自本地环回接口的数据包通过。
5. `-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT`: 新建连接时,允许TCP端口22(SSH)的入站连接。
6. `-A INPUT -m state --state NEW -m tcp -p tcp --dport 1723 -j ACCEPT`: 新建连接时,允许TCP端口1723(PPTP)的入站连接。
7. `-A INPUT -j REJECT --reject-with icmp-host-prohibited`: 拒绝所有其他未明确允许的入站连接,返回主机禁止的ICMP错误。
8. `-A FORWARD -p icmp -j ACCEPT`: 允许ICMP协议的转发数据包。
9. `-A FORWARD -ippp+-o eth0 -ptcp -s 192.168.100.0/24 -d 192.168.100.0/24 --dport 80 -j ACCEPT`: 允许从192.168.100.0/24子网到同一子网的80端口的TCP数据包通过。
10. `-A FORWARD -ippp+-i eth0 -ptcp -d 192.168.100.0/24 -s 192.168.100.0/24 --sport 80 -j ACCEPT`: 允许从192.168.100.0/24子网到同一子网且源端口为80的TCP数据包通过。
11. `-A FORWARD -ippp+-o eth0 -ptcp -s 192.168.100.201/32 -d 192.168.100.0/24 -mmultiport --dport 22,80,14 -j ACCEPT`: 允许从IP地址192.168.100.201的客户端访问192.168.100.0/24子网的22、80和14端口。
问题在于,当所有端口都无法访问时,发现很多包虽然符合规则,但最终被DROP。这是因为只配置了入站规则,而忽略了出站规则。数据包的响应需要出站规则来允许其返回,否则连接无法正常完成。
要解决这个问题,需要添加出站规则,确保被允许的入站连接能够得到回应。例如,对于允许访问80端口的规则,需要添加相应的出站规则:
```bash
-A OUTPUT -m state --state ESTABLISHED -o eth0 -d 192.168.100.0/24 --sport 80 -j ACCEPT
```
这将允许来自192.168.100.0/24子网且目的端口为80的已建立连接的出站数据包。
对于特定客户端IP(如192.168.100.201)访问其他端口,也需要相应的出站规则:
```bash
-A OUTPUT -m state --state ESTABLISHED -o eth0 -d 192.168.100.0/24 -s 192.168.100.201 --dport 22,80,14 -j ACCEPT
```
这将允许来自192.168.100.201的已建立连接的出站数据包,目标端口为22、80或14。
正确配置这些规则后,iptables将会根据设定的策略允许指定客户端访问特定端口,同时保证数据包的正常来回传输,从而实现预期的包过滤设置。在调整规则后,记得使用`service iptables restart`重启iptables服务,使新规则生效。
2020-09-07 上传
2010-10-20 上传
zgr006
- 粉丝: 0
- 资源: 9万+
最新资源
- fetch-project
- ssbm:尖峰网络监督学习基准的精选清单
- mini-framework-php:从类项目创建的 PHP 迷你框架
- jsgameframework
- Công cụ đặt hàng của Báo Gấm VN-crx插件
- Framer-for-beginners
- idris-commonmark:jgm 的 Markdown 解析器的 Idris 包装器
- 命中挑战挑战者
- supreme-lamp
- mysql压缩包详细安装教程(简单十步保你搭建到mysql环境)
- Płatności CashBill-crx插件
- volume-osd-y:Windows指数级屏幕显示替换
- Screengrab:适用于gmod的Screengrab插件
- ContributionSystem:学术期刊投稿系统
- DuktoR6 - 文件传输软件
- ReviewManager:该应用程序用于通过客户端API和网站转义功能从客户端请求公司评论