Linux

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > Linux > Linux网络配置与端口监听

Linux网络配置与端口监听的实战指南

作者:予枫的编程笔记

做开发和运维的同学,几乎每天都会和网络打交道:部署服务后端口不通、服务器IP配置异常、接口调用失败、防火墙拦截请求,所以本文汇总了IP查看、DNS配置、端口监听、连通性测试、防火墙放行的实操技巧,需要的朋友可以参考下

引言

做开发和运维的同学,几乎每天都会和网络打交道:部署服务后端口不通、服务器IP配置异常、接口调用失败、防火墙拦截请求……这些问题看似棘手,其实只要掌握核心的网络配置与端口监听命令,就能快速排查解决。本文汇总了IP查看、DNS配置、端口监听、连通性测试、防火墙放行的实操技巧,全程干货无废话,新手可直接抄作业,老鸟可查漏补缺,建议收藏备用!

一、基础网络配置:IP地址与DNS配置(必学)

无论是开发环境还是生产环境,首先要搞定服务器的基础网络——知道自己的IP、能正常解析域名,这是所有网络操作的前提。这里重点讲Linux系统(CentOS/Ubuntu通用)的实操命令,Windows可自行对应类比。

1.1 查看IP地址(2种常用方式)

最常用的两个命令:ip addrifconfig,推荐优先用 ip addr(ifconfig在部分新系统中已被废弃)。

实操演示(代码块可直接复制执行)

# 方式1:推荐,查看所有网卡的IP信息(包括IPv4、IPv6)
ip addr

# 方式2:兼容旧系统,查看IP(部分系统需先安装net-tools工具)
ifconfig

# 补充:只查看指定网卡(比如eth0、ens33,根据自己的网卡名修改)
ip addr show eth0

关键解读(避坑重点)

1.2 DNS配置(解决“域名解析失败”问题)

很多时候,我们能ping通IP,但ping不通域名(比如 ping baidu.com 失败),大概率是DNS配置有问题。DNS的作用就是将域名(如baidu.com)解析为IP地址,方便我们访问。

实操演示(修改DNS配置)

# 1. 编辑DNS配置文件(所有系统通用,需root权限)
vim /etc/resolv.conf

# 2. 在文件中添加以下内容(添加常用的公共DNS,二选一即可)
nameserver 8.8.8.8  # 谷歌公共DNS(全球通用,速度快)
nameserver 114.114.114.114  # 国内公共DNS(适合国内服务器,稳定性高)

# 3. 保存退出(vim操作:按ESC,输入:wq,回车)
# 补充:配置后立即生效,无需重启网络

注意事项

小贴士:这里建议点赞收藏,下次遇到“域名解析失败”,直接翻这部分内容,不用再到处查资料~

二、端口监听:netstat与ss命令详解(核心)

部署服务后(比如Tomcat、Nginx、Java服务),最常遇到的问题就是“端口占用”“服务启动了但端口没监听”。这时候就需要用端口监听命令,查看端口的占用情况、监听状态。

2.1 两个核心命令对比(选对命令效率翻倍)

命令特点适用场景
netstat功能全面,但效率较低兼容旧系统、需要查看详细的进程信息
ss轻量快速,占用资源少新系统优先用、大并发场景(比如服务器端口较多时)

2.2 实操命令(重点掌握,直接抄作业)

(1)查看所有端口(监听+未监听)

# netstat 方式(需安装net-tools工具)
netstat -tulnp

# ss 方式(系统自带,推荐)
ss -tulnp

(2)查看指定端口(最常用,比如查看8080端口占用)

# 查看8080端口的占用情况(netstat)
netstat -tulnp | grep 8080

# 查看8080端口的占用情况(ss,推荐)
ss -tulnp | grep 8080

(3)命令参数解读(新手必看)

(4)避坑案例

比如启动Tomcat时,提示「Address already in use」(端口已被占用),执行以下命令即可解决:

# 1. 查看8080端口的占用进程(假设Tomcat用8080端口)
ss -tulnp | grep 8080
# 输出示例:tcp    LISTEN     0      100    [::]:8080               [::]:*                   users:(("java",pid=1234,fd=52))

# 2. 杀死占用端口的进程(PID为1234,根据自己的输出修改)
kill -9 1234

# 3. 重新启动Tomcat,即可正常启动

三、连通性测试:ping、telnet、curl(排障必备)

服务部署成功、端口也在监听,但别人就是访问不了?这时候就需要用连通性测试命令,排查是本地问题、网络问题,还是服务问题。

3.1 ping:测试网络是否通畅(最基础)

ping 命令用于测试两个主机之间的网络连通性,简单来说:能ping通,说明网络是通的;ping不通,说明网络有问题(比如防火墙拦截、路由异常)。

实操演示

# 测试与百度的网络连通性(测试外网是否通畅)
ping baidu.com

# 测试与内网服务器的连通性(比如测试与192.168.1.200的连通性)
ping 192.168.1.200

# 补充:指定ping的次数(默认无限次,Ctrl+C终止)
ping -c 4 baidu.com  # 只ping4次,适合脚本中使用

关键解读

3.2 telnet:测试端口是否可访问(重点)

ping 只能测试网络通畅,但不能测试端口是否可访问。比如服务器网络通了,但8080端口被防火墙拦截,ping能通,但telnet不通。

实操演示

# 测试百度的80端口(HTTP端口)是否可访问
telnet baidu.com 80

# 测试内网服务器的8080端口是否可访问
telnet 192.168.1.200 8080

关键解读

3.3 curl:测试接口是否可正常调用(开发常用)

curl 命令比telnet更强大,不仅能测试端口,还能发送HTTP请求,测试接口是否能正常返回数据(适合Web服务、接口开发)。

实操演示

# 1. 测试HTTP接口(比如测试本地Tomcat的默认接口)
curl http://localhost:8080

# 2. 测试指定接口(比如GET请求接口)
curl http://192.168.1.200:8080/api/user/list

# 3. 查看请求详情(排障时常用,显示请求头、响应头)
curl -v http://baidu.com

关键解读

四、防火墙操作:iptables与firewalld放行端口(必懂)

很多时候,端口监听正常、网络也通畅,但外部就是访问不了,核心原因是「防火墙拦截了端口」。这里讲解Linux系统中两种常用的防火墙:iptables(旧系统常用)和firewalld(新系统常用)。

4.1 firewalld操作(CentOS 7+、Ubuntu 18+ 推荐)

firewalld是新系统默认的防火墙,操作更简单,推荐优先使用。

实操演示(放行端口)

# 1. 查看防火墙状态(是否开启)
systemctl status firewalld

# 2. 若防火墙未开启,启动防火墙(可选)
systemctl start firewalld

# 3. 放行指定端口(比如8080端口,永久生效)
firewall-cmd --permanent --add-port=8080/tcp

# 4. 放行端口范围(比如8000-9000端口,可选)
firewall-cmd --permanent --add-port=8000-9000/tcp

# 5. 重新加载防火墙(使配置生效,必须执行)
firewall-cmd --reload

# 6. 查看已放行的端口(验证配置)
firewall-cmd --permanent --list-ports

补充操作(常用)

# 1. 移除已放行的端口(比如移除8080端口)
firewall-cmd --permanent --remove-port=8080/tcp
firewall-cmd --reload

# 2. 关闭防火墙(测试时可用,不推荐生产环境)
systemctl stop firewalld

# 3. 禁止防火墙开机自启(不推荐生产环境)
systemctl disable firewalld

4.2 iptables操作(旧系统兼容)

iptables是旧系统(比如CentOS 6)的防火墙,操作相对复杂,适合兼容旧系统时使用。

实操演示(放行端口)

# 1. 查看iptables规则(查看已放行的端口)
iptables -L -n

# 2. 放行指定端口(比如8080端口,临时生效,重启后失效)
iptables -A INPUT -p tcp --dport 8080 -j ACCEPT

# 3. 放行指定端口(永久生效,需保存配置)
iptables -A INPUT -p tcp --dport 8080 -j ACCEPT
service iptables save  # 保存配置
service iptables restart  # 重启iptables

# 4. 移除已放行的端口(比如移除8080端口)
iptables -D INPUT -p tcp --dport 8080 -j ACCEPT
service iptables save
service iptables restart

注意事项

五、总结

本文汇总了Linux网络配置与端口监听的核心实操技巧,从基础的IP查看、DNS配置,到核心的端口监听(netstat/ss)、连通性测试(ping/telnet/curl),再到防火墙放行端口(firewalld/iptables),覆盖了开发、运维日常排障的90%场景。

所有命令均经过实操验证,新手可直接复制执行,老鸟可查漏补缺。网络问题看似复杂,其实只要掌握这些基础命令,就能快速定位并解决问题。

以上就是Linux网络配置与端口监听的实战指南的详细内容,更多关于Linux网络配置与端口监听的资料请关注脚本之家其它相关文章!

您可能感兴趣的文章:
阅读全文