一、Linux网络设置
查看所有活动的网络接口信息
ifconfg 网络接口
在Linux系统中,使用ifconfig命令可以查看网络接口的地址配置信息。
eth0:第1块以太网卡的名称
lo:回环网络接口
ifconfig eth0 :可以只查看网卡eth0的配置信息
ether:网络接口的物理地址
inet:网络接口的IP地址
broadcast:网络接口所在网络的广播地址
netmask:表示网络接口的子网掩码
主机名:hostname
在Linux操作系统中,相当一部分网络服务都会通过主机名来识别主机,如果主机名配置不当,可能会导致程序功能出现故障。
修改主机名 :hostname XXX
永久修改:hostnamectl set-hostname XXX
查看本主机ip :hostname -i
route命令:
查看当前主机中的路由表信息
Destination列对应目标网段的地址
Gateway列对应下一跳路由器的地址
Iface列对应发送数据的网络接口
route -n:可以将路由记录中的地址显示为数字形式,这可以跳过解析主机名的过程,在路由表条目较多的情况下能加快执行速度
netstat命令:
可以查看当前网络连接状态、路由表、接口统计等信息
-a:显示当前主机中所有活动的网络连接信息
-n:以数字的形式显示相关主机地址、端口等信息
-r:显示路由表信息
-l:显示处于监听状态的网络连接及端口信息
-t:查看TCP协议相关的信息
-u:显示UDP协议相关的信息
-p:显示与网络连接相关联的进程号、进程名称信息
结合命令管道使用“grep”命令,可以在结果中过滤出所需要的特定记录
netstat -natulp | grep 80
ss命令:
也可以查看网络连接情况,主要用于获取socket统计信息,可以显示和netstat命令类似的输出内容。优势在于能够显示更多更详细的有关TCP和连接状态的信息,比netstat更快速更高效。
ss -natulp | grep 22
ss -natulp | grep -w 22 #-w用于字符串精确匹配
time命令:
测量命令的执行时间或系统资源的使用情况
1、real:从进程1s开始执行到完成所消耗的CPU总时间。
2、user:进程1s执行用户态代码所消耗的CPU时间
3、sys:进程1s在内核态运行所耗费的CPU时间,即执行内核系统调用所耗费的CPU时间
为什么ss比netstat快:
netstat是遍历/proc下面每个PID目录,ss直接读/proc/net下面的统计信息。所以ss执行的时候消耗资源以及消耗的时间都比netstat少很多。
ping命令:
可以向目的主机持续发送测试数据包 ,Ctrl+C组合键可以终止测试
ping -c n(次数) #指定ping的次数
ping -i 秒数 # 设定间隔几秒发送一个网络封包给一台机器,默认1s一次
ping -w 5 # 指定ping的超时时间为5s,只ping5s,5s后结束
看到“Destination Host Unreachable”反馈信息,则表示目的主机不可达,可能目标地址或者主机已经关闭
看到“Network is unreachable”反馈信息,则表示没有可用的路由记录,无法达到目标主机所在的网络
traceroute命令:
可以测试从当前主机到目的主机之间经过了哪些网络结点,显示各中间节点的连接状态。对于无法响应的结点,连接状态将显示为“*”
traceroute命令能够比ping命令更加准确地定位网络连接地故障点,因此执行速度会比ping命令慢。在网络测试与排查过程中,通常会先使用ping命令测试与目的主机地网络连接,如果发现网络连接有故障,再使用traceroute命令跟踪查看是哪个中间结点存在故障。
配置网络参数
临时配置:通过命令行直接修改当前正在使用的网络地址,修改后立即可以生效。
ifconfig不仅可以用于查看网卡配置,还可以修改网卡的Ip地址、子网掩码,也可以绑定虚拟网络接口、激活或禁用网络接口。
ifconfig ens33 192.168.0.1 netmask 255.255.255.0 #临时配置网卡的Ip地址
ifconfig ens33 192.168.0.1/24 #当不指定子网掩码时,将使用Ip地址所在分类的默认子网掩码
永久配置:通过配置文件来存放固定的某种网络地址,需要重启network服务或重启主机后才会生效。
route命令:
不仅可以用于查看路由表信息,还可用来添加、删除静态的路由表条目,其中也包括设置默认网关地址(默认网关记录是一条特殊的静态路由条目)
添加静态路由
route add -net 192.168.3.0/24 gw 192.168.10.1
通过routeadd操作可以添加路由记录,结合”-net“ 选项指定目标网段的地址,结合”gw“选项指定下一跳路由器的IP地址,route del 删除静态路由
修改网络配置文件
网络接口的配置文件文件默认位于/etc/sysconfig/network-script/ifcfg-ens33
TYPE=Ethernet #设置网卡类型,Ethernet表示以太网
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static #设置网络接口的配置方式。static表示使用静态指定的Ip地址,dhcp时表示使用动态获取IP地址
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33 #设置网络接口名称
UUID=1413535e-90fb-471f-9cf0-847fb2911cc6
DEVICE=ens33 #设置网络接口的名称
ONBOOT=yes #设置网络接口是否再Linux操作系统启动时激活
IPADDR=20.0.0.55 #设置网络接口的Ip地址
NETMASK=255.255.255.0 #设置网络接口的子网掩码
GATEWAY=20.0.0.2 #设置网络接口的默认网关地址
DNS1=8.8.8.8 #设置域名解析服务器
~
建议关闭NetworkManager服务,否则又是启动network会报错
systemctl stop NetworkManager
systemctl disable NetworkManager
启动、禁用网络接口配置
如果只是禁用、启动某个网络接口,分别使用两个接口控制脚本ifdown、ifup
ifup/ifdown ens33
域名解析配置文件
vi /etc/resolv.conf
search localdomain
nameserver 202.106.0.20
nameserver 202.106.148.1
resolv.conf 文件中的“search localdomain”行用来设置默认的搜索域
/etc/resolv.conf 文件中记录了本机默认使用的DNS服务器地址信息,对文件所作的修改将会立刻生效。Linux操作系统中最多可以指定3个不同的DNS服务器地址,优先使用第一个DNS服务器。
本地主机映射文件
/etc/hosts文件中记录着一份主机名与IP地址的映射关系表,一般用来保存经常需要访问的主机的信息。当访问一个未知的域名时,先查找该文件中是否有响应的映射记录,若果找不到再去向DNS服务器查询。