linux网络设置
查看网络接口信息 ifconfig
查看所有活动的网络接口信息
执行ifconfig命令
linux 系统管理网卡配置:
ifconfig ens33(网络接口) #网络接口后面加上“:” 是设置虚拟网卡
或ip addr 缩写 ip a
修改配置文件
centos7 默认的第一张网卡的名称为ecs33,也可以自定义
centos6以前,默认第一张网卡名称为eth0
lo :回环网卡 代表本机
virbr0 :linux KVM 虚拟机使用的网卡
扩展
Windows 虚拟机 VMWare Workstation 个人使用 10-20台
VMWare Sphere + ESXF 企业级虚拟化工具 控制数十台甚至上百台虚拟机
Linux Xen KVM(基于linux内核实现的) openstack(私有云)
查看软件包源位置:
yum whatprovides ifconfig #查看这个网卡(工具)由哪个软件包提供的命令
MTU 最大传输单元 设置最大值为1500字节
本地MTU值>网络MTU值 需要拆包,会导致效率下降
本地MTU值<网络MTU值 未能发挥最大传输能力
查看linux发行版本
cat /etc/*release 企业用的比较多:Centos 7.6 7.9
查看内核版本
uname -r/-a 3.10 内核版本企业用的比较多(4.4 4.5) 5.18(2022.5月提出) 5.19(2022.8月推出)
查看主机名称 hostname
hostname 命令
hostname [主机名]
永久设置主机名
hostnamectl set-hostname [主机名]
vim /etc/hostname #设置在第一行 完成后需重启系统才能生效
查看路由表条目:route
route 命令
查看或设置主机中的路由表信息
rount [-n] 以数字形式显示路由表信息
示例:
查看网络连接情况 netstat
netstat命令
查看系统的网络连接状态、路由表、接口统计等信息
| 常用选项 | 介绍 |
|---|---|
| -a | 显示主机中所有活动的网络连接信息(包括监听、非监听状态的服务端口) |
| -n | 以数字的形式显示相关的主机地址、端口等信息 |
| -p | 显示与网络连接相关联的进程号、进程名称信息(该选项需要root权限) |
| -t | 查看TCP相关的信息 |
| -u | 显示UDP协议相关的信息 |
| -r | 显示路由表信息 |
| -l | 显示处于监听状态的网络连接及端口信息 |
查看socket系统消息 ss
ss命令
查看系统的网络链接情况,获取socket统计信息
ss [选项]
常用选项:
| 常用命令 | 介绍 |
|---|---|
| -t | 显示 TCP 协议的 sockets |
| -u | 显示 UDP 协议的 sockets |
| -n | 不解析服务的名称,如 “22” 端口不会显示成 “ssh” |
| -l | 只显示处于监听状态的端口 |
| -p | 显示监听端口的进程 |
| -a | 显示所有端口和连接 |
| -r | 把 IP 解释为域名,把端口号解释为协议名称 |
测试网络连接 ping
ping命令
测试网络连通性
属于icmp协议 工作在网络层
ping [选项] 目标主机
常用选项
Windows系统
-t 长ping -a 显示主机名 -l 显示每个包的大小 (32字节) -n 包的数量 -S指原地址
linux 系统 : -s 显示每个包的大小 -c 包的数量 -i 指原地址
示例:
跟踪网络数据包 traceroute
属于ICMP协议,工作在网络层
跟踪路由路径:
Windows系统中: tracert
linux系统中:traceroute 静态跟踪
动态跟踪:mtr
示例:
域名解析 nslookup
nslookup命令:
nslookup 目标主机地址 [DNS服务器地址]
DNS:把域名解析成ip地址
Windows和linux都可以使用
host dig 都可以域名解析
dig 命令
dig 可以显示出更多的详情信息
dig是一个在类Unix命令行模式下查询DNS包括NS记录,A记录,MX记录等相关信息的工具
[root@localhost ~]#dig www.baidu.com ##将域名解析IP地址,显示更多信息
; <<>> DiG 9.9.4-RedHat-9.9.4-50.el7 <<>> www.baidu.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 26682
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;www.baidu.com. IN A
;; ANSWER SECTION:
www.baidu.com. 287 IN CNAME www.a.shifen.com.
www.a.shifen.com. 88 IN A 14.215.177.38
www.a.shifen.com. 88 IN A 14.215.177.39
;; Query time: 83 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: 四 8月 11 14:27:19 CST 2022
;; MSG SIZE rcvd: 101
修改DNS:
/etc/resolv.conf ##修改完立即生效
/etc/sysconfig/network-scrips/ifcfg-ens33 ##需要重启才能生效
设置网络参数的方式
临时配置——使用命令调整网络参数
- 修改后立刻生效
- 简单、快速、可直接修改运行中的网络参数
- 一般只适合在调试网络的过程中使用
- 系统重启以后,所做的修改都会消失
固定配置——通过配置文件修改网络参数
- 修改各项网络参数的配置文件
- 适合对服务器设置固定参数时使用
- 需要重载网络服务或者重启以后才会生效
设置网络接口参数 ifconfig
设置网络接口的ip地址、子网掩码
ifconfig 网络接口 ip地址 [netmask 子网掩码]
ifconfig 网络接口 ip地址 [/子网掩码长度]
禁用或激活网卡
ifconfig 网络接口 down #禁用网卡,ifconfig会查不到该网卡信息
ifconfig 网络接口 up #激活网卡,不会更新ip
systemctl restart network #重启所有网卡
ifdown ens35 #关闭某个网卡,仅是没有ip和流量
ifup ens35 #开启某个网卡,会更新ip
ifdown ens35 & ifup ens35
设置虚拟网络接口
ifconfig 网络接口:序号 IP地址
双网卡设置
1.增加网络适配器
2.用ifconfig命令显示所有网卡,查看第二块网卡名称
[root@localhost ~]#ifconfig
3.编辑配置文件
[root@localhost ~]#cd /etc/sysconfig/network-scripts/
#切换到network-scripts目录下
[root@localhost network-scripts]#cp ifcfg-ens33 ./ifcfg-ens36
#复制ens33配置文件
[root@localhost network-scripts]#vim ifcfg-ens36 #进入ens36配置文件
4.重启网络服务,查看ens36
[root@localhost network-scripts]#systemctl restart network #重启网络服务
[root@localhost network-scripts]#ifconfig ens36 #查看ens36网卡信息
设置路由记录 route
linux系统添加静态路由条目
临时添加(立即失效,重启系统或网络服务会失效)
route add -net 目标网段地址/掩码 gw 下一跳ip地址 dev 出站网卡
-host 目标主机
ip route add 目标网段地址/掩码 via 下一跳ip地址 dev 出站网卡
举例:
删除路由信息
route del -net 目标网段地址/子网掩码
-host 目标网段地址/子网掩码
举例:删除192.168.50.0/24网段路由信息
增加一个默认路由(网卡需要开启网关配置)
route add -net 0.0.0.0 netmask 0.0.0.0 gw 192.168.46.2 ens33
route add default gw 192.168.80.2 dev ens33
永久添加静态路由条目(重启后生效)
vim /etc/sysconfig/static-routes
any net 网段/掩码 gw 下一跳 ip
host 主机ip gw 下一跳 ip
vim /etc/sysconfig/network-scripts/route-网卡名称
目标网段/掩码 via 下一跳ip地址 dev 网卡
目标主机ip via 下一跳ip地址 dev 网卡
systemctl restart network #重启所有网络服务
route -n #查看路由条目
举例1:
在配置文件写以下几个命令:
开机能够自动执行命令文件:
/etc/profile /etc/bashrc
~/.bash_profile ~/.bashrc
/etc/rc.d/rc.local /etc/rc.local