linux如何测试IP和端口是否能访问

本文介绍了在Linux环境下如何使用ping命令检测网络连通性,以及如何利用telnet命令检查特定IP地址上的端口是否开放。这些基本命令对于日常网络管理和故障排查非常有用。

linux测试IP和端口是否能访问

ps:本人亲测,阿里云2核4G5M的服务器性价比很高,新用户一块多一天,老用户三块多一天,最高可以买三年,感兴趣的可以戳一下:阿里云折扣服务器

linux下ping命令通常是用来检查网络是否通畅或者网络连接速度的命令。
而telnet命令是用来探测指定ip是否开放指定端口的。

### 配置Linux防火墙规则 为了实现仅允许特定IP地址访问某个端口,在Linux中可以利用`firewalld`或`iptables`工具来配置相应的防火墙规则。 #### 使用Firewalld管理防火墙规则 对于现代版本的CentOS或RHEL系统,默认采用的是`firewalld`作为动态管理防火墙的服务。可以过以下命令操作: - **查询当前已开放的端口** ```bash firewall-cmd --zone=public --list-ports ``` 此命令用于显示公共区域下所有被放行的TCP/UDP端口号[^1]。 - **添加新规则以允许来自特定IP对指定端口访问** 假设目标是让IP `46.166.150.22`能够连接到本地机器上的HTTP服务(即80号端口),则应执行如下指令: ```bash sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="46.166.150.22" port protocol="tcp" port="80" accept' ``` 上述命令中的`--permanent`参数表示永久生效;而rich rule语法定义了一个更精细控制条件下的例外情况——当源地址匹配给定值时才接受该请求[^3]。 完成以上设置之后,记得重启firewalld使更改立即起效: ```bash sudo systemctl restart firewalld ``` #### 利用Iptables设定访问权限 另一种方式则是直接编辑iptables链表里的条目达成目的。比如想要限定仅有单一主机能触及数据库监听器(如Oracle DB使用的1521/tcp),可参照下面的例子编写脚本片段并加载至内核空间: ```bash # 清除现有策略 sudo iptables -F INPUT # 默认拒绝一切入站尝试 sudo iptables -P INPUT DROP # 接受回环接口信以及已经建立好的会话包交换 sudo iptables -A INPUT -i lo -j ACCEPT sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT # 特许某固定公网IPv4节点向内部资源发起针对1521端口的数据传输活动 sudo iptables -A INPUT -p tcp -s 46.166.150.22 --dport 1521 -j ACCEPT # 对于其余未特别指明的情况一律拦截掉 sudo iptables -A INPUT -j REJECT ``` 这段代码首先清除了INPUT链中原有的全部项目(-F选项的作用),接着设定了默认动作(POLICY)为丢弃(DROP).随后几行分别处理了自环设备(lo interface)、已有连接状态跟踪(conntrack module)以及特批路径之外的所有输入型数据报文[-4]. 最后一步是要保存这些改动以便持久化存储下来供下次引导时自动恢复应用: ```bash sudo service iptables save ``` 过这种方式也可以达到相同的效果,不过相比起来firewalld提供了更加友好直观的操作界面更为灵活的功能特性集.
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值