Linux网络命令

2024-01-10 10:32:44

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 命令格式(图文详解)

image-20240109092251031

image-20240109092425448

1.2.1 临时修改网卡名称

命令格式

ifconfig  网卡名称  down    #关闭网卡(先将网卡down掉)

ip link set ens37 name abc    #修改名称(将ens37名称改为abc)

ifconfig  网卡名称  up    #开启网卡

ifconfig a    #查看所有的网卡

图文详解

image-20240109093041577

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    #重新生成配置文件

#然后重启

image-20240109103809301

image-20240109103650104

image-20240109145448453

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          #测试网络是否通顺

图文详解

image-20240109103016074

image-20240109102829830

image-20240109150439810

双网卡配置

命令

cd /etc/sysconfig/network-scripts/    #切换到规定目录

cp ifcfg-ens33 ifcfg-ens37    #复制ens33信息到ens37

vim 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    #重启网卡

图文详解

image-20240109151337927

image-20240109151321697

image-20240109151744238

image-20240109151833700

2、hostname:查看或设置当前主机名

  • /etc/hostname:主机名文件
2.1 常用命令格式
hostname   #查看主机名

hostname  主机名  #临时修改主机名

hostnamectl  set-hostname  主机名   #永久修改主机名

vim /etc/hostname    #永久修改主机名(修改配置文件,需要将名字写入文件,只有写在第一行有用)
2.2 命令格式(图文详解)

image-20240109152728266

image-20240109153235731

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 命令格式(图文详解)

image-20240109154724193

image-20240109155259061

image-20240109160043597

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=yes

cp ifcfg-ens33 ifcfg-ens37    #复制

vim ifcfg-ens37
NAME=ens37
DEVICE=ens37
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
PNBOOT=yes

systemctl 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): 0

Slave 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: 0

Slave 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: 0

ifconfig bond0 down    #删除bond0
rmmod bonding    #删除bond0
9.2 命令格式(图文详解)

image-20240109182415271

image-20240109183514972

image-20240109184520464

image-20240109184712202

image-20240109185010679

image-20240109185354835

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(图文详解)

image-20240109193339043

image-20240109193428646

image-20240109193532339

image-20240109193641816

10、tcpdump:抓包工具

  • 网络数据包截获分析工具。支持针对网络层、协议、主机、网络或端口的过滤
tcpdump  -D    #查看当前所有网卡

tcpdump  -i 网卡名称   #查看指定网卡

tcpdump  -i ens33 -nn

tcpdump 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命令(图文详解)

image-20240109214247795

image-20240109214958892

image-20240109220924795

文章来源:https://blog.csdn.net/2301_81272194/article/details/135491461
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。