iptables 开放22 53端口
封面图
•
2025-10-15
•
Linux
216
0
0
0
要使用 `iptables` 开放 **22**(SSH)和 **53**(DNS)端口,你可以按照以下步骤操作。这些命令适用于大多数 Linux 发行版(如 Ubuntu、CentOS、Debian 等)。 --- ### ✅ 1. 允许 SSH(22端口) ```bash sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT ``` - `-A INPUT`: 将规则添加到 INPUT 链。 - `-p tcp`: 指定协议为 TCP。 - `--dport 22`: 目标端口是 22。 - `-j ACCEPT`: 接受该流量。 --- ### ✅ 2. 允许 DNS(53端口) ```bash sudo iptables -A INPUT -p udp --dport 53 -j ACCEPT sudo iptables -A INPUT -p tcp --dport 53 -j ACCEPT ``` - DNS 使用的是 **UDP 协议**,所以需要同时允许 TCP 和 UDP 的 53 端口(某些情况下 DNS 会使用 TCP)。 --- ### ✅ 3. 保存规则(防止重启后丢失) 不同系统保存方法略有不同: #### 🔹 Debian/Ubuntu: ```bash sudo iptables-save > /etc/iptables/rules.v4 ``` #### 🔹 CentOS/RHEL: ```bash sudo service iptables save ``` 或者使用 `iptables-persistent` 工具(推荐): ```bash sudo apt install iptables-persistent # Debian/Ubuntu sudo systemctl enable netfilter-persistent sudo netfilter-persistent save ``` --- ### ✅ 4. 查看当前规则 ```bash sudo iptables -L -n -v ``` --- ### ⚠️ 注意事项: - 如果你已经设置了默认的 **DROP** 策略,确保在规则链中先允许这些端口,再设置默认策略。 - 如果你使用的是 **firewalld** 或 **ufw**,请不要混用,否则可能冲突。 --- ### 🛡️ 示例:完整配置(假设默认策略是 DROP) ```bash # 允许 SSH (22) sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT # 允许 DNS (53) sudo iptables -A INPUT -p udp --dport 53 -j ACCEPT sudo iptables -A INPUT -p tcp --dport 53 -j ACCEPT # 允许已建立的连接 sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT # 默认拒绝所有其他流量 sudo iptables -P INPUT DROP ``` --- 如果你告诉我你使用的 Linux 发行版,我可以提供更具体的配置方式。
上一篇:
如何解决linux下apache启动时httpd: apr_sockaddr_info_get()
下一篇:
(转)在 CentOS 设置 iptables
标题录入,一次不能超过6条
返回顶部
留言
留言
评论