Linux网络配置

本文详细介绍了Linux系统中网络配置的关键命令,如ifconfig用于查看和管理网络接口,route用于路由设置,hostname管理主机名,以及多网卡绑定(bond)和抓包工具tcpdump的使用。此外,还涵盖了如何设置DNS和配置双网卡实验,包括bonding的不同工作模式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

网络配置命令

1.ifconfig

2.route  路由

3.hostname

4.网络链接端口状态(ss和netstat)

5.nslookup

6.scp  

7.ethtool

8.永久修改网卡配置文件

双网卡实验

9.tcpdump 抓包工具

10.bond   多网卡绑定

bond实验


将Linux主机接入到网络,需要配置网络相关设置

一般包括如下内容:

(1)主机名

(2)IP/netmask

(3)路由:默认网关

(4)DNS服务器 ,主DNS服务器, 次DNS服务器 ,第三个DNS服务器

网络配置命令

1.ifconfig

来自于  net-tools 包

基础用法:

在不带任何选项和参数执行 ifconfig 命令时, 将显示当前主机中已启用(活动)的网络接口信息

网卡名称详解:

eth0 eth1

ens33:第一块以太网卡的名称详解:

“ens33”中的“en”是“EtherNet”的缩写,表示网卡 以太网(局域网中的一种) 互联网

类型为以太网,“s”表示热插拔插槽上的设备(hot-plug Slot),数字“33”表示插槽 编号

常用格式:

常用格式说明
ifconfig  默认是看所有开启的网卡
ifconfig   网卡名 查看单独的网卡
ifconfig   网卡名  up开启网卡
ifconfig   网卡名  down关闭网卡
ifconfig     -a 显示所有网卡,包括未开启的
ifconfig   网卡名  :0    ip /子网设置临时网卡
ifconfig   IP地址/子网 临时设置地址
ifconfig  网卡名  0取消网卡设置
ifconfig     -s查看通讯消息

示例:

(1)ifconfig  查看所有开启的网卡

ens33: flags=4163<UP,   BROADCAST,RUNNING,MULTICAST>  mtu 1500
   #      该接口 已启用,支持广播,正在运行 ,支持组播   最大传输单元1500字节
        inet 192.168.91.100  netmask 255.255.255.0  broadcast 192.168.91.255
        inet6 fe80::fe7:ca03:81f:2887  prefixlen 64  scopeid 0x20<link>
   #   IPV6地址                         子网长度       作用域 link表示仅该接口有效
        ether 00:0c:29:fe:e5:bf  txqueuelen 1000                  (Ethernet)
   #     mac地址                   传输队列长度(传输缓存大小)       接口类型
        RX  packets 2211  bytes 182146 (177.8 KiB)
   #   接收 报文个数      总和字节数
        RX  errors 0  dropped 0  overruns 0  frame 0
   #    接收 错误       丢弃        溢出       冲突帧数
        TX  packets 1317  bytes 294334 (287.4 KiB)
   #    发送 报文个数       总字节数
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
   #       错误       丢失         溢出        载荷数     冲突数

(2)ifconfig  -a  显示所有网卡包括未开启的

(3)查看单个网卡信息,和开启关闭网卡

2.route  路由

查看或设置主机中路由表信息

格式 :route [-n]

route  -n   #显示路由信息 -n  数字形式显示

route  add  -net  网段  gw  网关  #添加静态路由

route   del  -net  网段                  #删除路由

示例:

(1)route  -n  显示路由信息

(2)删除路由

(3)临时添加默认路由

(4)永久添加路由

进入到配置文件,编辑配置文件

保存后重新启动network 可以看到路由添加完成

3.hostname

查看或设置当前主机名

示例:

(1)临时修改主机名

(2)永久更改主机名

方法一:通过修改/etc/hostname文件来修改主机名

方法二:通过hostnamectl来修改主机名

4.网络链接端口状态(ss和netstat)

netstat和ss(socket statistics)区别:

netstat速度慢,ss速度快

4.1 查看网络连接情况 netstat

-a:显示主机中所有活动的网络连接信息(包括监听、非监听状态的服务端口)
-n:以数字的形式显示相关的主机地址、端口等信息 
-r:显示路由表信息
-l:显示处于监听(Listening)状态的网络连接及端口信息 
-t:查看 TCP(Transmission Control Protocol,传输控制协议)相关的信息 
-u:显示 UDP(User Datagram Protocol,用户数据报协议)协议相关的信息
-p:显示与网络连接相关联的进程号、进程名称信息(该选项需要 root 权限)

示例:

4.2  ss(socket statistics)

ss 命令:也可以查看网络连接情况,主要用于获取 socket (内核态)统计信息,它可以显示和 netstat 命令类似的输出内容。 但 ss 的优势在于它能够显示更多更详细的有关 TCP 和连接状态的信息,而且比 netstat 更快速更高效 当服务器的socket连接数量变得非常大时,无论是使用netstat命令还是直接cat /proc/net/tcp,执行速度都会很慢。 ss快的秘诀在于,它利用到了TCP协议栈中tcp_diag。tcp_diag是一个用于分析统计的模块,可以获得Linux 内核中第一手的信息,这就确保了ss的快捷高效 ss命令是Linux CentOS 7中iproute软件包的一部分,默认已经安装。

常用选项:

-t: tcp协议相关   只显示  tcp协议
-u: udp协议相关   只显示   udp
-w: 裸套接字相关
-x:unix sock相关
-l: listen状态的连接
-a: 所有状态                        
-n: 数字格式
-p: 相关的程序及PID
-e: 扩展的信息
-m:内存用量
-o:计时器信息
-r: --resolve 把 IP 解释为域名,把端口号解释为协议名称。 dns 服务
示例:

ss  -natp  

5.nslookup

域名解析 nslookup dns cdn 电商 平台

格式:nslookup  域名

6.scp  

远程拷贝   

[root@zhou opt]#scp /opt/passwd  lisi@192.168.240.11:/opt/passwd
              命令字 本地文件地址  对方用户名@地址冒号对面地址
[root@zhou opt]#scp root@192.168.240.11:/opt/passwd  /opt/
               zhouxiansen命令字 对方用户名@地址冒号对面地址        本地地址
7.ethtool

查看网卡信息

示例:ethtool  -i   ens33 

ethtool -p ens33     #让ens33 网卡快速闪烁

8.永久修改网卡配置文件

进入网卡配置文件:vim /etc/sysconfig/network-scripts/ifcfg-ens33 

双网卡实验

实验步骤:

(1)查看ens36没有ip地址

(2)切换到/etc/sysconfig/network-scripts/下将ifcfg-ens33复制到ifcfg-ens36

(3)进入到ifcfg-ens36配置文件,修改配置文件,将多余的删除

(4)重新启动network 

修改ifcfg-ens36配置文件

9.tcpdump 抓包工具

格式:tcpdump     option     proto             dir                  type
                              选项        协议      数据的方向    抓取的数据类型

proto(协议):1.tcp udp icmp    2.ip ipv6    3.arp

dir(方向):1.src (源地址)    2.dst (目的地址)  3.src and dst

type(类型):1.host 主机   2.net 网段    3.port 端口     4.port range 端口范围

常用选项:

-i :指定监听网络监听端口

-w :将捕获信息保存到文件中,且不分析核打印在屏幕上

-r : 读取上面存储的文件

-n :不把ip转换成域名,直接显示ip

-nn : 直接显示ip和端口号

-t :在每行的输出中,不显示时间

-tt :输出一个时间戳

时间戳(timestamp),通常是一个字符序列,唯一地标识某一刻的时间。

-ttt :每行之间的时间间隔

-tttt : 详细日期

-v :产生详细的输出

-c :指定收取数据包的数量

-C : 需要与w 配合使用 指定单个文件的大小 百万字节

-Q :过滤数据包的方向 in out inout

-q :简洁的输出

-D :显示所有可用的列表

-s :指定数据包的大小

示例:

直接使用tcpdump

tcpdump    -i   指定网卡

第一列:时分毫秒 11:53:55.288476

第二例:网络协议ip

第三列:发送方IP地址+端口号 ip地址:192.168.91.1 端口号:47496 >表示数据流向

第四列:主机名协议 主机名:localhost.localdomain 协议:ssh

第五列: seq号 ack号 win窗口长度 tcp的标志位

(2)tcpdump -D 显示所有可用的列表

(3)host选项

主机一   ping   主机二

使用  tcpdump -i ens33  host 192.168.240.1

host选项

主机2  ping   主机1 

dst 选项 目的地址 src 选项 源地址

[root@localhost ~]#tcpdump -i ens33  dst 192.168.91.101
[root@localhost ~]#tcpdump -i ens33  src 192.168.91.101

net 选项 tcpdump net 192.168.91.0/24

[root@localhost ~]#tcpdump net 192.168.91.0/24 -i ens33
​
控制方向
[root@localhost ~]#tcpdump -i ens33  src net 192.168.91.0/24
[root@localhost ~]#tcpdump -i ens33  dst net 192.168.91.0/24

port 端口号 tcpdump port 80

[root@localhost ~]#tcpdump -i ens33 port 80

or

[root@localhost ~]#tcpdump -i ens33 port 80 or port 22
#80 和 22 端口
​
[root@localhost ~]#tcpdump -i ens33  src port 80 or port 22
[root@localhost ~]#tcpdump -i ens33  dst port 80 or port 22

范围的端口

[root@localhost ~]#tcpdump -i ens33 portrange 80-8080
#80 和 22 端口
​
[root@localhost ~]#tcpdump -i ens33  src portrange 80-8080
[root@localhost ~]#tcpdump -i ens33  dst portrange 80-8080

protocal

协议种类:ip arp icmp tcp udp

应用层协议不可以直接抓取

[root@localhost ~]#ping  www.baidu.com
[root@localhost ~]#tcpdump -i ens33 icmp
10.bond   多网卡绑定

将多块网卡绑定同一IP地址对外提供服务,可以实现高可用或者负载均衡。直接给两块网卡设置同一IP地址是不可以的。通过 bonding,虚拟一块网卡对外提供连接,物理网卡的被修改为相同的MAC地址

Bonding 聚合链路工作模式:

  • mod=0 ,即:(balance-rr) Round-robin policy(轮询)聚合口数据报文按包轮询从物理接口转发。负载均衡—所有链路处于负载均衡状态,轮询方式往每条链路发送报文这模式的特点增加了带宽,同时支持容错能力,当有链路出问题,会把流量切换到正常的链路上。性能问题—一个连接或者会话的数据包如果从不同的接口发出的话,中途再经过不同的链路,在客户端很有可能会出现数据包无序到达的问题,而无序到达的数据包需要重新要求被发送,这样网络的吞吐量就会下降。Bond0在大压力的网络传输下,性能增长的并不是很理想。需要交换机进行端口绑定。

  • mod=1,即: (active-backup) Active-backup policy(主-备份策略)只有Active状态的物理接口才转发数据报文。容错能力—只有一个slave是激活的(active)。也就是说同一时刻只有一个网卡处于工作状态,其他的slave都处于备份状态,只有在当前激活的slave故障后才有可能会变为激活的(active)。无负载均衡—此算法的优点是可以提供高网络连接的可用性,但是它的资源利用率较低,只有一个接口处于工作状态,在有 N 个网络接口的情况下,资源利用率为1/N。

  • mod=2,即:(balance-xor) XOR policy(平衡策略)聚合口数据报文按源目MAC、源目IP、源目端口进行异或HASH运算得到一个值,根据该值查找接口转发数据报文负载均衡—基于指定的传输HASH策略传输数据包。容错能力—这模式的特点增加了带宽,同时支持容错能力,当有链路出问题,会把流量切换到正常的链路上。性能问题—该模式将限定流量,以保证到达特定对端的流量总是从同一个接口上发出。既然目的地是通过MAC地址来决定的,因此该模式在“本地”网络配置下可以工作得很好。如果所有流量是通过单个路由器,由于只有一个网关,源和目标mac都固定了,那么这个算法算出的线路就一直是同一条,那么这种模式就没有多少意义了。需要交换机配置为port channel

  • mod=3,即:broadcast(广播策略)这种模式的特点是一个报文会复制两份往bond下的两个接口分别发送出去,当有对端交换机失效,感觉不到任何downtime,但此法过于浪费资源;不过这种模式有很好的容错机制。此模式适用于金融行业,因为他们需要高可靠性的网络,不允许出现任何问题。

  • mod=4,即:(802.3ad) IEEE 802.3ad Dynamic link aggregation(IEEE 802.3ad 动态链接聚合)在动态聚合模式下,聚合组内的成员端口上均启用LACP(链路汇聚控制协议)协议,其端口状态通过该协议自动进行维护。负载均衡—基于指定的传输HASH策略传输数据包。默认算法与blance-xor一样。容错能力—这模式的特点增加了带宽,同时支持容错能力,当有链路出问题,会把流量切换到正常的链路上。对比blance-xor,这种模式定期发送LACPDU报文维护链路聚合状态,保证链路质量。需要交换机支持LACP协议

  • mod=5,即:(balance-tlb) Adaptive transmit load balancing(适配器传输负载均衡)在每个物理接口上根据当前的负载(根据速度计算)分配外出流量。如果正在接收数据的物理接口口出故障了,另一个物理接口接管该故障物理口的MAC地址。需要ethtool支持获取每个slave的速率

  • mod=6,即:(balance-alb) Adaptive load balancing(适配器适应性负载均衡)该模式包含了balance-tlb模式,同时加上针对IPV4流量的接收负载均衡,而且不需要任何switch(交换机)的支持。接收负载均衡是通过ARP协商实现的。bonding驱动截获本机发送的ARP应答,并把源硬件地址改写为bond中某个物理接口的唯一硬件地址,从而使得不同的对端使用不同的硬件地址进行通信。mod=6与mod=0的区别:mod=6,先把eth0流量占满,再占eth1,….ethX;而mod=0的话,会发现2个口的流量都很稳定,基本一样的带宽。而mod=6,会发现第一个口流量很高,第2个口只占了小部分流量

常用的模式为 0,1,3,6
mode 1、5、6 不需要交换机设置
mode 0、2、3、4需要交换机设置
active-backup、balance-tlb 和 balance-alb 模式不需要交换机的任何特殊配置。其他绑定模式需
要配置交换机以便整合链接。如:Cisco 交换机需要在模式 0、2 和 3 中使用 EtherChannel,但在模
式4中需要 LACP和 EtherChannel
bond实验

(1)切换到/etc/sysconfig/network-scripts/下将ifcfg-ens33复制到ifcfg-bond0

编辑bond0配置文件

(2)编辑ifcfg-ens33配置文件

(3)编辑ifcfg-ens36配置文件

(4)重新启动network ,此时需要重新连接

使用ssh命令连接bond0配置文件中地址192.168.240.100

最后使用 cat /proc/net/bonding/bond0  查看网卡信息

使用命令方法:

#添加bonding接口
nmcli con add type bond con-name mybond0 ifname bond0 mode active-backup ipv4.method manual ipv4.addresses 192.168.240.100/24 
#添加从属接口
nmcli con add type bond-slave ifname ens33 master bond0
nmcli con add type bond-slave ifname ens36 master bond0
#注:如无为从属接口提供连接名,则该名称是接口名称加类型构成
#要启动绑定,则必须首先启动从属接口
nmcli con up bond-slave-ens33
nmcli con up bond-slave-ens36
#启动绑定
nmcli con up mybond0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值