文章目录
- 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:详细日期
tcpdump命令(图文详解)


