菜鸟科技网

Linux设置网络命令有哪些常用?

Linux作为开源操作系统,其网络配置命令丰富且灵活,掌握这些命令对于系统管理员和开发者至关重要,以下将详细介绍Linux中常用的网络设置命令,包括查看网络状态、配置IP地址、路由管理、DNS配置以及网络服务控制等内容,并通过表格形式对比部分命令的用法,最后附上相关FAQs。

Linux设置网络命令有哪些常用?-图1
(图片来源网络,侵删)

在Linux中,查看网络状态是基础操作,ifconfigip命令是最常用的工具。ifconfig属于传统工具,通过ifconfig命令可以查看或配置网络接口的IP地址、子网掩码、MAC地址等信息,例如ifconfig eth0显示eth0接口的详细状态,ifconfig eth0 192.168.1.100 netmask 255.255.255.0则用于设置IP地址和子网掩码,较新的Linux发行版已推荐使用ip命令,它功能更强大且语法更统一。ip addr show等同于ifconfig,用于显示所有接口信息;ip addr add 192.168.1.100/24 dev eth0用于添加IP地址,其中/24表示子网掩码长度为255.255.255.0。ip link set eth0 up/down可控制接口的启用与禁用。

配置静态IP地址时,不同发行版的方法有所差异,在基于Debian/Ubuntu的系统上,网络配置通常存储在/etc/network/interfaces文件中,通过编辑该文件添加iface eth0 inet staticaddress 192.168.1.100netmask 255.255.255.0gateway 192.168.1.1等参数,然后执行sudo systemctl restart networkingsudo ifdown eth0 && sudo ifup eth0使配置生效,而在CentOS/RHEL系统中,配置文件位于/etc/sysconfig/network-scripts/目录下,如ifcfg-eth0,需设置BOOTPROTO=staticIPADDR=192.168.1.100NETMASK=255.255.255.0GATEWAY=192.168.1.1,最后通过sudo systemctl restart network重启网络服务,对于使用NetworkManager的现代系统(如Ubuntu 18.04+、CentOS 7+),可通过nmtui(文本界面)或nmcli(命令行)工具管理网络,例如nmcli con mod "连接名称" ipv4.addresses 192.168.1.100/24 ipv4.gateway 192.168.1.1 ipv4.method manual后执行nmcli con up "连接名称"

路由管理确保数据包正确转发,ip route命令是核心工具,查看路由表使用ip route showip route,添加静态路由可通过ip route add 192.168.2.0/24 via 192.168.1.1 dev eth0,表示目标网段192.168.2.0/24的下一跳地址为192.168.1.1,通过eth0接口发送,删除路由则使用ip route del 192.168.2.0/24,默认网关的配置通常在静态IP设置时完成,也可单独通过ip route add default via 192.168.1.1添加,或修改/etc/resolv.conf文件中的nameserver项配置DNS服务器,例如nameserver 8.8.8.8

网络连通性测试中,pingtraceroutenetstat是常用命令。ping 192.168.1.1用于测试与目标主机的连通性,traceroute 8.8.8.8可显示数据包到目标主机的路径。netstatss用于查看网络连接状态,netstat -tuln显示所有监听的TCP和UDP端口,ss -tuln是其替代工具,性能更优。dhclient命令用于动态获取IP地址,执行sudo dhclient eth0可通过DHCP协议自动配置网络参数。

Linux设置网络命令有哪些常用?-图2
(图片来源网络,侵删)

以下是部分网络命令的对比表格:

命令 功能描述 常用示例
ifconfig 查看或配置网络接口(传统工具) ifconfig eth0 192.168.1.100
ip addr 查看或配置IP地址(现代工具) ip addr add 192.168.1.100/24 dev eth0
ip route 查看或管理路由表 ip route add default via 192.168.1.1
nmcli NetworkManager命令行工具 nmcli con up "eth0"
ss 查看网络连接(替代netstat) ss -tuln
dhclient 动态获取IP地址 sudo dhclient eth0

在实际操作中,需要注意命令的权限问题,多数网络配置命令需要sudo执行,配置修改后应验证网络状态,例如通过ping测试网关或外网连通性,避免因配置错误导致网络中断,对于服务器环境,建议在修改前备份配置文件,以便出现问题时快速恢复。

相关问答FAQs:

Q1: 如何在Linux中永久修改主机名?
A1: 修改主机名需同时修改/etc/hostname/etc/hosts文件,首先使用sudo hostnamectl set-hostname "新主机名"(适用于systemd系统)或直接编辑/etc/hostname文件,将内容替换为新主机名,然后编辑/etc/hosts文件,找到0.1.10.0.1行,将旧主机名替换为新主机名,最后重启系统或执行sudo systemctl restart systemd-hostnamed使配置生效。

Linux设置网络命令有哪些常用?-图3
(图片来源网络,侵删)

Q2: Linux中如何查看某个进程占用的端口号?
A2: 可通过netstatss命令结合grep过滤进程信息,使用netstat -tulnp | grep "进程名或PID"ss -tulnp | grep "进程名或PID",其中-t表示TCP,-u表示UDP,-l表示仅显示监听端口,-n以数字形式显示地址和端口,-p显示进程ID和名称,查看nginx进程占用的端口可执行netstat -tulnp | grep nginx

分享:
扫描分享到社交APP
上一篇
下一篇