iptables常用端口设置
封面图
•
2025-12-19
•
Linux
278
0
0
0
`iptables` 是 Linux 系统中用于配置防火墙规则的工具,可以用来控制网络流量。在实际应用中,我们经常需要设置一些常用端口的访问规则,比如 HTTP(80)、HTTPS(443)、SSH(22)等。 以下是一些常见的 `iptables` 端口设置示例: --- ## 一、基本语法 ```bash iptables -A [链] -p [协议] --dport [端口] -j [动作] ``` - `-A`:添加规则到链末尾 - `-p`:指定协议(如 tcp, udp) - `--dport`:目标端口 - `-j`:动作(ACCEPT, DROP, REJECT) --- ## 二、常用端口设置示例 ### 1. 允许 SSH(22)端口 ```bash iptables -A INPUT -p tcp --dport 22 -j ACCEPT ``` ### 2. 允许 HTTP(80)端口 ```bash iptables -A INPUT -p tcp --dport 80 -j ACCEPT ``` ### 3. 允许 HTTPS(443)端口 ```bash iptables -A INPUT -p tcp --dport 443 -j ACCEPT ``` ### 4. 允许 FTP(21)端口 ```bash iptables -A INPUT -p tcp --dport 21 -j ACCEPT ``` ### 5. 允许 DNS(53)端口(TCP/UDP) ```bash iptables -A INPUT -p tcp --dport 53 -j ACCEPT iptables -A INPUT -p udp --dport 53 -j ACCEPT ``` ### 6. 允许 MySQL(3306)端口 ```bash iptables -A INPUT -p tcp --dport 3306 -j ACCEPT ``` ### 7. 允许自定义端口(例如 8080) ```bash iptables -A INPUT -p tcp --dport 8080 -j ACCEPT ``` --- ## 三、允许所有出站连接(通常建议保留) ```bash iptables -A OUTPUT -j ACCEPT ``` --- ## 四、拒绝所有其他入站连接(默认策略) ```bash iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT DROP ``` > 注意:设置默认策略为 DROP 前,请确保已经允许了必要的端口,否则系统将无法正常通信。 --- ## 五、保存 iptables 规则(不同系统方法不同) ### 在 Debian/Ubuntu 上: ```bash sudo apt install iptables-persistent sudo netfilter-persistent save ``` ### 在 CentOS/RHEL 上: ```bash sudo service iptables save ``` 或者使用 `iptables-save` 和 `iptables-restore` 工具。 --- ## 六、查看当前 iptables 规则 ```bash iptables -L -n -v ``` --- ## 七、删除某条规则 ```bash iptables -D INPUT -p tcp --dport 22 -j ACCEPT ``` --- ## 八、完整示例脚本(允许常见服务) ```bash # 清空现有规则 iptables -F iptables -X # 设置默认策略 iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT DROP # 允许 SSH iptables -A INPUT -p tcp --dport 22 -j ACCEPT # 允许 HTTP iptables -A INPUT -p tcp --dport 80 -j ACCEPT # 允许 HTTPS iptables -A INPUT -p tcp --dport 443 -j ACCEPT # 允许 DNS iptables -A INPUT -p tcp --dport 53 -j ACCEPT iptables -A INPUT -p udp --dport 53 -j ACCEPT # 允许出站 iptables -A OUTPUT -j ACCEPT ``` --- ## 九、注意事项 - `iptables` 在较新的 Linux 发行版中可能被 `nftables` 或 `firewalld` 取代。 - 使用 `iptables` 时要小心,避免误操作导致无法远程登录。 - 如果你使用的是云服务器(如 AWS、阿里云),它们通常有自己的安全组机制,与 `iptables` 可能冲突。 --- 如果你有具体的使用场景(比如只开放某个 IP 访问 22 端口),我也可以帮你写更详细的规则。欢迎继续提问!
上一篇:
信息安全管理:阻止SSH口令尝试工具软件
下一篇:
如何设计代币分配方式
标题录入,一次不能超过6条
留言
评论