linux下打开关闭端口命令

本文介绍如何使用iptables命令来实现端口的开启与关闭操作。通过具体的iptables命令示例,展示了如何针对TCP协议的指定端口(例如端口111)进行流量控制,包括拒绝(DROP)与允许(ACCEPT)特定端口的入站连接。

关闭端口

iptables -A INPUT -p tcp --dport 111 -j DROP

打开端口

iptables -A INPUT -p tcp --dport 111 -j ACCEPT

 

http://blog.chinaunix.net/u2/61800/showart_1334060.html

### 3.1 检查当前22端口状态 在尝试打开22端口之前,应先确认该端口是否已经被占用或关闭。可以使用以下命令查看当前端口监听状态: ```bash netstat -tuln | grep 22 ``` 如果未看到 `:22` 相关的监听信息,则说明 SSH 服务未运行或端口未开放。 ### 3.2 使用 `iptables` 打开22端口 如果系统使用 `iptables` 作为防火墙管理工具,可以通过以下命令添加规则以允许22端口的入站连接: ```bash iptables -A INPUT -p tcp --dport 22 -j ACCEPT ``` 执行此命令后,22端口将允许来自外部的 SSH 连接。如果需要限制访问的 IP 范围,可以在命令中添加 `--source` 参数指定允许的 IP 地址或网段。 如果需要同时限制出站连接,可以添加如下规则: ```bash iptables -A OUTPUT -p tcp --dport 22 -j ACCEPT ``` ### 3.3 使用 `firewalld` 打开22端口 对于使用 `firewalld` 的系统(如 CentOS 7 或 RHEL 7 及以上版本),可使用以下命令开放22端口: ```bash firewall-cmd --permanent --add-port=22/tcp firewall-cmd --reload ``` 第一条命令将22端口永久添加到防火墙规则中,第二条命令重新加载配置使其生效。 ### 3.4 启动或重启 SSH 服务 即使端口已开放,如果 SSH 服务未运行,也无法建立连接。可以使用以下命令启动或重启 SSH 服务: ```bash systemctl start sshd systemctl enable sshd ``` 或者在某些系统上使用: ```bash service sshd restart ``` 确保 SSH 服务配置文件 `/etc/ssh/sshd_config` 中的 `Port` 设置与防火墙规则一致,否则需要修改配置并重启服务。 ### 3.5 验证端口是否开放 使用以下命令验证22端口是否已成功开放: ```bash nc -zv 127.0.0.1 22 ``` 或从远程主机执行: ```bash nc -zv <本机IP> 22 ``` 如果返回 `succeeded`,则表示22端口已开放并正常监听连接请求。 ### 3.6 使用脚本批量检查远程主机的22端口状态 如果需要检查多个远程主机的22端口是否开放,可以使用 `nc` 命令编写脚本进行批量检测。例如: ```bash #!/bin/bash for ip in $(cat ip_list.txt); do echo "Checking $ip:22" nc -zvw 1 $ip 22 2>&1 | grep succeeded done ``` 将远程主机 IP 地址写入 `ip_list.txt` 文件后运行脚本即可[^2]。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值