Linux虚拟机网络配置:
ifcfg命令家族:ifconfig,route,netstat
ifconfig命令:
ifconfig [INTEFACE]
# ifconfig -a 显示所有接口,包括inactive状态的接口;
ifconfig interface[aftype] options | address ...
# ifconfig IFACE IP/MASK [up]
# ifconfig IFACE IP netmask NETMASK
options:
[-]promisc
注意:立即送往内核中的TCP/IP协议栈,并生效;
管理IPv6地址:
add addr/prefixlen
del addr/prefixlen
route命令:路由查看及管理
路由条目类型:
主机路由:目标地址为单个IP;
网络路由:目标地址为IP网络;
默认路由:目标为任意主机,0.0.0.0/0.0.0.0
查看:
# route -n
添加:
# route add [-net|-host] target [netmask Nm] [gw Gw] [[dev] If]
如:route add -net 10.0.0.0/8 gw 192.168.108.2 dev ens33
或:route add -net 10.0.0.0/8 gw 192.168.108.2
添加默认网关:route add -net 0.0.0.0/0.0.0.0 gw 192.168.108.2
或:route add default gw 192.168.108.2
删除:
# route del [-net|-host] target [netmask Nm] [gw Gw] [[dev] If]
如:route del -net 10.0.0.0/8 gw 192.168.108.2
删除默认网关:route del default
netstat:显示网络连接,路由表,接口统计数据,伪装链接,多播成员关系
显示路由信息:netstat -rn
-r:显示内核路由表
-n:数字格式
显示网络连接:netstat [--tcp | -t] [--udp | -u] [--sctp | -S] [--raw | -W] [--listening | -l] [--all | -a] [--numeric | -n] [--extend | -e] [--program | -p]
-t:TCP协议的相关连接
-u:UDP协议的相关连接
-w:raw socket相关的连接
-l:处于监听状态的连接
-a:所有状态
-n:以数字格式显示IP和Port
-e:扩展格式
-p:显示相关的进程及PID
常用组合:
-tnl;-uan;-unl;-tunlp
显示接口的统计数据:netstat [--interfaces | -I | -i] [iface] [-all | -a] [--extend | -e] [--verbose | -v] [--program | -p] [--numeric | -n]
所有接口:netstat -i
指定接口:netstat -i<IFACE>
ifup/ifdown命令:通过配置文件 /etc/sysconfig/network-scripts/ifcfg-IFACE 来识别接口并完成配置
配置主机名:
hostname命令:
查看:hostname
配置:hostname HOSTNAME
hostnamectl命令(CentOS 7):
# hostnamectl status 显示当前主机名信息
# hostnamectl set-hostname HOSTNAME 设定主机名,永久有效
配置文件修改主机名:
vim /etc/sysconfig/network
HOSTNAME=<HOSTNAME>
注意:此方法的设置不会立即生效;重启后生效
配置DNS服务器指向:
配置文件:/etc/resolv.conf
nameserver DNS_SERVER_IP
测试:
ping命令:/etc/hosts和/etc/resolv.conf两个文件,先找/etc/hosts的DNS指向
dig -t A FQDN
FQDN --> IP:测试域名解析到IP
IP --> FQDN:反向解析一般不支持使用
如:dig -t A www.google.com.hk
iproute2家族:和Linux内核强相关,所以和内核版本一致
iproute2:CentOS 6
iproute3:CentOS 7
IP命令:
ip [OPTIONS] OBJECT [COMMAND | help]
ip OBJECT
ip link:完成网络设备配置
ip link set:管理设备属性
dev NAME:指明要管理的设备
up/down:启用/关闭
name NAME:重命名接口
mtu NUMBER:设置MTU的大小,默认为1500
netns PID(CentOS 7):ns为namespace,用于将接口移动到指定的网络名称空间
ip link show/list:显示设备属性
ip link help:显示简要使用帮助,没必要用 man ip link
ip netns:管理网络名称空间
ip netns list
ip netns add NAME:创建指定的netns
ip netns del NAME:删除指定的netns
ip netns exec COMMAND:在指定的netns中运行命令
ip address:
ip address add:增加一个新接口地址
ip address add IFADDR dev IFACE
如:ip address add 192.168.108.96/24 dev ens66
ip address delete:删除一个接口地址
ip address delete IFADDR dev IFACE
ip address show/list
ip address show IFACE
ip address flush:刷新一个接口地址
ip address flush dev IFACE
ip route:路由表管理
ip route add
ip route change
ip route replace
ip route delete
ip route show/list
ip route flush
ip route get
ss命令:取代netstat的命令
ss [options] [FILTER]
options:
-t:TCP协议的相关连接
-u:UDP协议的相关连接
-w:raw socket相关的连接
-l:监听状态的连接
-a:所有状态的连接
-n:数字格式
-p:相关的程序及其PID
-e:扩展格式信息
-m:内存用量
-o:计时器信息
FILTER:[ state TCP-STATE] [EXPRESSION]
TCP的常见状态:
TCP FSM:
LISTEN:监听
ESTABLISEHD:建立的连接
FIN_WAIT_1:
FIN_WAIT_2:
SYN_SENT:
SYN_RECV:
CLOSED:
EXPRESSION:
dport =
sport =
如:ss -tan '( dport = :22 or sport = :22 )'
如:ss -tan state ESTABLISHED
测试虚拟机相关截图:
![](https://img2022.cnblogs.com/blog/1752889/202205/1752889-20220511144335807-1311111893.png)
![](https://img2022.cnblogs.com/blog/1752889/202205/1752889-20220511092259460-955022309.png)
![](https://img2022.cnblogs.com/blog/1752889/202205/1752889-20220511092306317-750272349.png)
![](https://img2022.cnblogs.com/blog/1752889/202205/1752889-20220511092314364-499583100.png)
![](https://img2022.cnblogs.com/blog/1752889/202205/1752889-20220511092322000-1742384930.png)
![](https://img2022.cnblogs.com/blog/1752889/202205/1752889-20220511152846732-663813162.png)
![](https://img2022.cnblogs.com/blog/1752889/202205/1752889-20220511164617836-205401113.png)
![](https://img2022.cnblogs.com/blog/1752889/202205/1752889-20220511164628507-435734985.png)
![](https://img2022.cnblogs.com/blog/1752889/202205/1752889-20220511164637583-1087360043.png)