文章目录
- Linux网络
- 网络配置命令
- 1、ifconfig:查看网络接口信息(显示所有活动网卡)
- 1.1 常用命令格式
- 1.2 命令格式(图文详解)
- 1.2.1 临时修改网卡名称
- 1.2.2 永久修改网卡名称
- 1.2.3 永久修改单个网卡
- 2、hostname:查看或设置当前主机名
- 2.1 常用命令格式
- 2.2 命令格式(图文详解)
- 3、route:查看或设置主机中路由表信息
- 3.1 常用命令格式
- 3.2 命令格式(图文详解)
- 4、netstat:查看网络连接情况
- 常用选项
- 5、ss:查看网络连接情况
- 常用选项
- 6、ping:测试网络连通性
- 常用命令格式
- 7、traceroute:路由追踪
- 8、dns:域名解析
- 8.1 验证dns服务器是否可以解析域名,可以用以下命令:
- 8.2 域名解析文件
- 8.3 查看服务器上的域名是否生效:
- 9、bond :多网卡
- 9.1 常用命令格式
- 9.2 命令格式(图文详解)
- 9.3 nmcli实现bonding
- 9.4nmcli实现bonding(图文详解)
- 10、tcpdump:抓包工具
- tcpdump命令(图文详解)
Linux网络
网络配置命令
描述 | 相关命令 |
---|---|
ip地址 | ifconfig 或者 ip a |
dns服务器 | cat /etc/resolv.conf |
主机名 | hostname |
路由 | route -n |
网络连接状态 | ss 或者 netstat |
域名解析 | nslookup 或者 host 或者 dig |
1、ifconfig:查看网络接口信息(显示所有活动网卡)
- ifconfig命令来自于net-tools包(可以使用rpm -qi net-tools 查看安装的软件包 )
- 在不带任何选项和参数执行 ifconfig 命令时, 将显示当前主机中已启用(活动)的网络接口信息
1.1 常用命令格式
ifconfig #默认显示活动的网卡ifconfig -a #查看所有的网卡ifconfig -s #网络通讯情况ifconfig 网卡名称 #只显示前面的网卡信息ifconfig 网卡名称 up #开启网卡
ifup 网卡名称 #开启网卡ifconfig 网卡名称 down #关闭网卡
ifdown 网卡名称 #关闭网卡ifconfig ens33:0 ip地址/子网掩码 #设置ens33接口的虚拟网卡ethtool -p ens33 #让ens33网卡快速闪烁(区分网络接口)
1.2 命令格式(图文详解)
1.2.1 临时修改网卡名称
命令格式
ifconfig 网卡名称 down #关闭网卡(先将网卡down掉)ip link set ens37 name abc #修改名称(将ens37名称改为abc)ifconfig 网卡名称 up #开启网卡ifconfig a #查看所有的网卡
图文详解
1.2.2 永久修改网卡名称
命令格式
vim /etc/default/grub #编辑文件GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet net.ifnames=0"
#在上面的一行末尾加入net.ifnames=0
GRUB_DISABLE_RECOVERY="true"grub2-mkconfig -o /boot/grub2/grub,cfg #重新生成配置文件#然后重启
1.2.3 永久修改单个网卡
单个网卡修改
命令
vim /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet #网卡的类型(网口)
BOOTPROTO=static #网卡获取地址模式
NAME=ens33 #网卡的描述(一般与DEVICE一样)
DEVICE=ens33 #网卡的名称(必须与ifconfig中查到的一样)
ONBOOT=yes #开机自启动
IPADDR=192.168.10.11 #ip地址
NETMASK=255.255.255.0 #子网掩码
GATEWAY=192.168.10.2 #网关
DNS1=114.114.114.114 #dns服务器systemctl restart network #重启网卡服务 ping 192.168.91.1 #测试网络是否通顺
图文详解
双网卡配置
命令
cd /etc/sysconfig/network-scripts/ #切换到规定目录cp ifcfg-ens33 ifcfg-ens37 #复制ens33信息到ens37vim ifcfg-ens37
TYPE=Ethernet
BOOTPROTO=static
NAME=ens37
DEVICE=ens37
ONBOOT=yes
IPADDR=192.168.91.110
NETMASK=255.255.255.0
GATEWAY=192.168.91.2
DNS1=114.114.114.114
systemctl restart network #重启网卡
图文详解
2、hostname:查看或设置当前主机名
- /etc/hostname:主机名文件
2.1 常用命令格式
hostname #查看主机名hostname 主机名 #临时修改主机名hostnamectl set-hostname 主机名 #永久修改主机名vim /etc/hostname #永久修改主机名(修改配置文件,需要将名字写入文件,只有写在第一行有用)
2.2 命令格式(图文详解)
3、route:查看或设置主机中路由表信息
- -n:将路由记录中的地址信息显示为数字形式
3.1 常用命令格式
route -n #显示路由表(-n表示以数字显示)route add -net 10.0.0.0/8 gw 192.168.10.2 #添加一条去往10.0.0.0网段的路由,通过网关192.168.10.2转发route del -net 10.0.0.0/8 #删除去往10.0.0.0网段的的路由route add -net 0.0.0.0(default) gw 192.168.10.2 #添加默认路由route del -net 0.0.0.0(default) #删除默认路由vim /etc/sysconfig/network-scripts/route-ens33
10.0.0.0/24 via 192.168.10.11
#永久添加路由systemctl restart network #重启网卡
3.2 命令格式(图文详解)
4、netstat:查看网络连接情况
常用选项
netstat
-a:显示主机中所有活动的网络连接信息(包括监听、非监听状态的服务端口)
-n:以数字的形式显示相关的主机地址、端口等信息
-r:显示路由表信息
-l:显示处于监听(Listening)状态的网络连接及端口信息
-t:查看 TCP(Transmission Control Protocol,传输控制协议)相关的信息
-u:显示 UDP(User Datagram Protocol,用户数据报协议)协议相关的信息
-p:显示与网络连接相关联的进程号、进程名称信息(该选项需要 root 权限)
5、ss:查看网络连接情况
- 主要用于获取 socket 统计信息,它可以显示和 netstat 命令类似的输出内容
常用选项
-t: tcp协议相关
-u: udp协议相关
-w: 裸套接字相关
-x:unix sock相关
-l: listen状态的连接
-a: 所有
-n: 数字格式
-p: 相关的程序及PID
-e: 扩展的信息
-m:内存用量
-o:计时器信息
-r: --resolve 把 IP 解释为域名,把端口号解释为协议名称
6、ping:测试网络连通性
常用命令格式
ping -c3 IP地址 #只ping三个包ping ip地址 -w 10 #等待10秒-c:选项是发送多少个包
-w:表示等待10秒
7、traceroute:路由追踪
traceroute ip地址 #查看经过几个路由
8、dns:域名解析
- 域名解析,将域名翻译成ip地址,然后封装数据包
8.1 验证dns服务器是否可以解析域名,可以用以下命令:
- nslookup;
- dig;
- host;
- ping
8.2 域名解析文件
- /etc/hosts 优先级大于域名服务器
8.3 查看服务器上的域名是否生效:
- cat /etc/resolv.conf
9、bond :多网卡
- 主备模式:可以解决单点故障
- 双主模式:可以分摊流量
9.1 常用命令格式
创建bonding设备的配置文件
cd /etc/sysconfig/network-scripts/ #切换目录cp ifcfg-ens33 ifcfg-bond0 #复制vim ifcfg-bond0
NAME=bond0
TYPE=bond
DEVICE=bond0
BOOTPROTO=none
IPADDR=192.168.91.22
NETMASK=255.255.255.0
GATEWAY=192.168.91.2
BONDING_OPTS="mode=1 miimon=100 fail_over_mac=1"
#miimon指定链路监测时间间隔。如果miimon=100,那么系统每100ms 监测一次链路连接状态,如果有一条线路不通就转入另一条线路vim ifcfg-ens33
BOOTPROTO=static
NAME=ens33
DEVICE=ens33
ONBOOT=yes
MASTER=bond0
SLAVE=yescp ifcfg-ens33 ifcfg-ens37 #复制vim ifcfg-ens37
NAME=ens37
DEVICE=ens37
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
PNBOOT=yessystemctl restart network #重启网卡cat /proc/net/bonding/bond0 #查看bond0状态
Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)Bonding Mode: fault-tolerance (active-backup) (fail_over_mac active)
Primary Slave: None
Currently Active Slave: ens33
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0Slave Interface: ens33
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:0c:29:42:0c:18
Slave queue ID: 0Slave Interface: ens37
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:0c:29:42:0c:22
Slave queue ID: 0ifconfig bond0 down #删除bond0
rmmod bonding #删除bond0
9.2 命令格式(图文详解)
9.3 nmcli实现bonding
nmcli con add type bond con-name mybond0 ifname bond0 mode active-backup ipv4.method manual ipv4.addresses 192.168.91.123/24 #添加bonding接口nmcli con add type bond-slave ifname ens33 master bond0
nmcli con add type bond-slave ifname ens37 master bond0
#添加从属接口
#注:如无为从属接口提供连接名,则该名称是接口名称加类型构成nmcli con up bond-slave-ens37 #要启动绑定,则必须首先启动从属接口
9.4nmcli实现bonding(图文详解)
10、tcpdump:抓包工具
- 网络数据包截获分析工具。支持针对网络层、协议、主机、网络或端口的过滤
tcpdump -D #查看当前所有网卡tcpdump -i 网卡名称 #查看指定网卡tcpdump -i ens33 -nntcpdump host 192.168.91.100 -i ens33 #监听特定主机,监听主机192.168.91.100 的通信包,注意:出、入的包都会被监听tcpdump src host hostname #特定来源tcpdump dst host hostname #特定目标地址tcpdump host hostname #如果不指定src跟dst,那么来源或者目标是hostname的通信都会被监听tcpdump -i ens33 -nn icmp and src host 192.168.91.101 and dst host 192.168.91.100 #只抓192.168.91.101发给192.168.91.100的包tcpdump ip host 192.168.91.100 and 192.168.91.101 -i ens33
#只抓取特定主机之间的数据包tcpdump port 3000 #特定端口tcpdump -nn -i ens33 port 22 #抓22端口号的数据包-D:显示当前所有的网卡-i:指定监听网络监听端口-w:将捕获信息保存到文件中,且不分析核打印在屏幕上-r:读取上面存储的文件-c:指定收取数据包的数量-C:需要与w 配合使用指定单个文件的大小百万字节-Q:过滤数据包的方向(in;out;inout)-q:简洁的输出-s:指定数据包的大小-v:显示详细的信息-n:不把ip转换成域名,直接显示ip-nn:直接显示ip和端口号-t:在每行的输出中,不显示时间-tt:输出一个时间戳-ttt:每行之间的时间间隔-ttt:详细日期