Linux系统网络配置与Bond多网卡绑定

目录

一、查看网络配置命令

1.1、ifconfig

1.2、ip

1.3、hostname

1.4、route

1.5、netstat

1.6、ss

1.7、ping

1.8、traceroute

1.9、nslookup

二、永久修改网络配置

2.1、网络接口配置文件

3.1、主机名配置文件

三、Bonding多网卡绑定

3.1、bondding工作模式

3.2、配置bond

3.2.1、添加网卡

3.2.2、新建bond配置文件

3.2.3、修改网卡配置文件

3.2.4、查看bond配置信息


一、查看网络配置命令

1.1、ifconfig

network interfaces configuring的所以写,其功能是显示或设置网络设备参数信息。

语法格式:ifconfig 参数 网卡名 动作

-a 显示所有网卡状态 -v 显示执行过程详细信息
-s 显示简短状态列表

 常用动作:

add 设置网络设备的IP地址 down

关闭指定的网络设备

del 删除网络设备的IP地址 up 启动指定的网络设备

参考示例:

[root@localhost ~]# ifconfig
ens33: flags=4163  mtu 1500
        inet 192.168.153.23  netmask 255.255.255.0  broadcast 192.168.153.255
        inet6 fe80::23f7:fce:85f9:91c5  prefixlen 64  scopeid 0x20
        ether 00:0c:29:5d:4f:83  txqueuelen 1000  (Ethernet)
        RX packets 7088  bytes 576440 (562.9 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 5112  bytes 951309 (929.0 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 181  bytes 15441 (15.0 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 181  bytes 15441 (15.0 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
[root@localhost ~]# ifconfig ens33 down            //关闭指定网卡
[root@localhost ~]# ifconfig ens33 up              //开启指定网卡
[root@localhost ~]# ifconfig ens33 192.168.2.10 netmask 255.255.255.0 broadcast 192.168.2.255            //配置IP地址
1.2、ip

功能是显示或操纵Linux主机的路由、网络设备、策略路由和隧道,是Linux下较新的功能强大的网络配置工具。

语法格式:ip 参数 对象

-V 显示指令版本信息 -s 输出更详细的信息
-f 强制使用指定的协议簇而不询问 -4 基于IPv4网络协议
-r 不使用IP地址,而是域名 -6 基于IPv6网络协议

常用对象:

link 数据链路层接口 route 路由表
addr 网络层接口 rule 路由规则

 参考示例:

[root@localhost ~]# ip a                //addr的缩写,查看所有网络接口
1: lo:  mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens33:  mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:5d:4f:83 brd ff:ff:ff:ff:ff:ff
    inet 192.168.153.23/24 brd 192.168.153.255 scope global noprefixroute ens33
       valid_lft forever preferred_lft forever
    inet6 fe80::23f7:fce:85f9:91c5/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
[root@localhost ~]# ip link              //显示网络设备运行状态
1: lo:  mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: ens33:  mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
    link/ether 00:0c:29:5d:4f:83 brd ff:ff:ff:ff:ff:ff
[root@localhost ~]# ip -s link list      //显示更加详细的设备信息
1: lo:  mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    RX: bytes  packets  errors  dropped overrun mcast   
    18663      219      0       0       0       0       
    TX: bytes  packets  errors  dropped carrier collsns 
    18663      219      0       0       0       0       
2: ens33:  mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
    link/ether 00:0c:29:5d:4f:83 brd ff:ff:ff:ff:ff:ff
    RX: bytes  packets  errors  dropped overrun mcast   
    2646411    9040     0       0       0       0       
    TX: bytes  packets  errors  dropped carrier collsns 
    1029731    6006     0       0       0       0       
[root@localhost ~]# ip route list        //显示核心路由表
default via 192.168.153.2 dev ens33 proto static metric 100 
192.168.122.0/24 dev virbr0 proto kernel scope link src 192.168.122.1 
192.168.153.0/24 dev ens33 proto kernel scope link src 192.168.153.23 metric 100 

 设置虚拟IP地址:

[root@localhost ~]#ip address add 2.2.2.2/24 dev ens33 label ens33:1

//先设置新的IP,再删除旧的IP
[root@centos8 ~]#ip address add 10.0.0.88/24 dev ens33

[root@centos8 ~]#ip address del 10.0.0.8/24 dev ens33
1.3、hostname

功能是显示和设置系统的主机名,Linux系统中的HOSTNAME环境变量对应保存了当前的主机名称,使用hostname命令能够查看和设置此环境变量的值,想要永久修改主机名称则需要使用hostnamectl命令或直接编辑配置文件/etc/hostname才行。

语法格式:hostname 参数 主机名

-a 显示主机别名 -d 显示DNS域名
-i 显示主机IP地址 -I 显示主机所有的IP地址

参考示例:

[root@localhost ~]# hostname
localhost.localdomain
[root@localhost ~]# hostname -i
::1 127.0.0.1
[root@localhost ~]# hostname padoru        //临时修改主机名
[root@localhost ~]# su - 123123
上一次登录:六 2月 22 22:32:38 CST 2025pts/0 上
[123123@padoru ~]$ 
1.4、route

显示并设置Linux内核中的网络路由表,route命令设置的路由主要是静态路由。

语法格式:route 参数 域名或IP地址

-n 不执行DNS反向查找,直接显示数字形式的IP地址 -net 到一个网络的路由表
-host 到一个主机的路由表

常用参数

add 增加指定的路由记录 del 删除指定的路由记录
target 目的网络或目的主机

 参考示例:

[root@padoru ~]# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         gateway         0.0.0.0         UG    100    0        0 ens33
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0
192.168.153.0   0.0.0.0         255.255.255.0   U     100    0        0 ens33
[root@padoru ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.153.2   0.0.0.0         UG    100    0        0 ens33
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0
192.168.153.0   0.0.0.0         255.255.255.0   U     100    0        0 ens33
[root@padoru ~]# route add -net 224.0.0.0 netmask 240.0.0.0 dev ens33    //设置网关
[root@padoru ~]# route add -net 224.0.0.0 netmask 240.0.0.0 reject    //屏蔽一条路由

[root@padoru ~]# route del default gw 192.168.120.240        //删除默认网关
[root@padoru ~]# route add default gw 192.168.120.240        //添加默认网关
1.5、netstat

network statistics的缩写,功能是显示各种网络相关信息,例如网络连接状态、路由表信息】接口状态、NAT等。

语法格式:netstat 参数

-a 显示所有连接中的接口信息 -n 直接使用IP地址,而不是域名
-r 显示路由表信息 -l 仅显示正在监听的服务状态
-t 显示TCP传输协议的连线状态 -u 显示UDP传输协议的连线状态
-p 显示正在使用接口的程序识别码和名称

 参考示例:

[root@padoru ~]# netstat -a            //列出所有端口
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 localhost:smtp          0.0.0.0:*               LISTEN     
tcp        0      0 localhos:x11-ssh-offset 0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:shell           0.0.0.0:*               LISTEN     
raw6       0      0 [::]:ipv6-icmp          [::]:*                  7          
Active UNIX domain sockets (servers and established)
Proto RefCnt Flags       Type       State         I-Node   Path
unix  2      [ ACC ]     STREAM     LISTENING     9216     /run/systemd/journal/stdout
unix  2      [ ACC ]     STREAM     LISTENING     22531    /var/run/abrt/abrt.socket

[root@padoru ~]# netstat -natp | grep ssh
tcp        0      0 127.0.0.1:6010          0.0.0.0:*               LISTEN      9010/sshd: root@pts 
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1179/sshd           
tcp        0      0 192.168.153.23:22       192.168.153.1:53369     ESTABLISHED 9010/sshd: root@pts 
tcp6       0      0 ::1:6010                :::*                    LISTEN      9010/sshd: root@pts 
tcp6       0      0 :::22                   :::*                    LISTEN      1179/sshd          
1.6、ss

Socket Statistics的缩写,功能是显示活动套接字信息。ss命令相较于netstat命令,其能够显示更多TCP和连接状态的详细信息,并且速度更快更高效。

语法格式:ss 参数

-a 显示所有套接字 -e 显示执行过程详细信息
-t 仅显示TCP套接字 -u 仅显示UDP套接字
-w 仅显示RAW套接字 -x 仅显示Unix套接字
-l 显示处于监听状态的套接字 -n 不解析域名
-p 显示使用套接字的进程 -m 显示套接字的内存使用情况
-o 显示计时器信息 -r --reslolve 解析主机名

 参考示例:

[root@padoru ~]# ss -t -a            //显示TCP连接
State      Recv-Q Send-Q            Local Address:Port                             Peer Address:Port                
LISTEN     0      100                   127.0.0.1:smtp                                        *:*                    
LISTEN     0      128                   127.0.0.1:x11-ssh-offset                              *:*                    
LISTEN     0      25                            *:shell                                       *:*                    
[root@padoru ~]# ss -natp |grep ssh        //显示指定进程套接字
LISTEN     0      128    127.0.0.1:6010                     *:*                   users:(("sshd",pid=9010,fd=9))
LISTEN     0      128          *:22                       *:*                   users:(("sshd",pid=1179,fd=3))
ESTAB      0      0      192.168.153.23:22                 192.168.153.1:53369               users:(("sshd",pid=9010,fd=3))
LISTEN     0      128      [::1]:6010                  [::]:*                   users:(("sshd",pid=9010,fd=8))
LISTEN     0      128       [::]:22                    [::]:*                   users:(("sshd",pid=1179,fd=4))
1.7、ping

功能是测试主机间网络的连通信,它发送出基于ICMP传输协议的数据包,要求对方主机予以恢复。

语法格式:ping 参数 域名或IP地址

-c 设置发送数据包的次数
-w 设置超时秒数,超过此秒数,程序退出

 参考示例:

[root@padoru ~]# ping 192.168.153.2
PING 192.168.153.2 (192.168.153.2) 56(84) bytes of data.
64 bytes from 192.168.153.2: icmp_seq=1 ttl=128 time=0.464 ms
64 bytes from 192.168.153.2: icmp_seq=2 ttl=128 time=0.300 ms
^C
--- 192.168.153.2 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1000ms
rtt min/avg/max/mdev = 0.300/0.382/0.464/0.082 ms
[root@padoru ~]# ping -c 3 192.168.153.2        //发送请求包限定3个
PING 192.168.153.2 (192.168.153.2) 56(84) bytes of data.
64 bytes from 192.168.153.2: icmp_seq=1 ttl=128 time=0.192 ms
64 bytes from 192.168.153.2: icmp_seq=2 ttl=128 time=0.313 ms
64 bytes from 192.168.153.2: icmp_seq=3 ttl=128 time=0.281 ms

--- 192.168.153.2 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2001ms
rtt min/avg/max/mdev = 0.192/0.262/0.313/0.051 ms
1.8、traceroute

功能是用于追踪网络数据包在网络上传输时的全部路径,默认发送的数据包大小是40字节。

参考示例:

[root@localhost ~]# traceroute www.baidu.com
traceroute to www.baidu.com (61.135.169.105), 30 hops max, 40 byte packets
 1  192.168.74.2 (192.168.74.2)  1.534 ms  1.775 ms  1.961 ms
 2  211.151.56.1 (211.151.56.1)  0.508 ms  0.514 ms  0.507 ms
 3  211.151.227.206 (211.151.227.206)  0.571 ms  0.558 ms  0.550 ms
 4  210.77.139.145 (210.77.139.145)  0.708 ms  0.729 ms  0.785 ms
 5  202.106.42.101 (202.106.42.101)  7.978 ms  8.155 ms  8.311 ms
 6  bt-228-037.bta.net.cn (202.106.228.37)  772.460 ms bt-228-025.bta.net.cn (202.106.228.25)  2.152 ms 61.148.154.97 (61.148.154.97)  772.107 ms
 7  124.65.58.221 (124.65.58.221)  4.875 ms 61.148.146.29 (61.148.146.29)  2.124 ms 124.65.58.221 (124.65.58.221)  4.854 ms
 8  123.126.6.198 (123.126.6.198)  2.944 ms 61.148.156.6 (61.148.156.6)  3.505 ms 123.126.6.198 (123.126.6.198)  2.885 ms
 9  * * *
10  * * *
1.9、nslookup

Nameserver lookup的缩写,功能是用于查询域名服务器信息。

参考示例:

[root@kgc ~]#nslookup www.baidu.com
Server:		8.8.8.8
Address:	8.8.8.8#53

二、永久修改网络配置

2.1、网络接口配置文件

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

[root@padoru ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
//保留以下参数即可完成网卡设置
TYPE=Ethernet                   //接口类型
BOOTPROTO=static                //启动协议,static/dhcpp
DEVICE=ens33                    //网卡名称
ONBOOT=yes                      //网卡自动启动
IPADDR=192.168.153.23           //IP地址
NETMASK=255.255.255.0           //子网掩码
GATEWAY=192.168.153.2           //网关
DNS1=144.144.144.144            //DNS服务器
DNS2=8.8.8.8

[root@padoru ~]# systemctl restart network  //重启网络服务,使修改后的配置生效
3.1、主机名配置文件

主机名配置文件:/etc/hostname

[root@padoru ~]# vim /etc/hostname        //主机名配置文件只有第一行生效

localhost.localdomain

三、Bonding多网卡绑定

bond是将多个物理网络接口卡(NIC)绑定到一个虚拟接口上,使得多个物理网络接口可以在同一个链路上工作,从而提高带宽、提供冗余和容错。

3.1、bondding工作模式
  • mode 0 (balance-rr 轮询):默认模式,数据包按顺序轮流从每个接口发送,实现负载均衡(需交换机支持)。
  • mode 1 (active-backup 主备):备份模式,只有一个网卡活跃工作,当它失败时,另一个网卡接管工作。
  • mode 2 (balance-xor XOR):使用源 MAC 地址和目标 MAC 地址的异或结果来选择一个网卡,这是一种简单的负载均衡模式。
  • mode 3 (broadcast 广播):所有的流量都会广播到所有网卡,这提供冗余。
  • mode 4 (802.3ad LACP):IEEE 802.3ad 动态链路聚合模式,基于交换机支持 Link Aggregation Control Protocol (LACP) 的配置,通常用于支持 LACP 的交换机。
  • mode 5 (balance-tlb 自适应):基于流量负载的平衡模式,使用传输负载均衡来动态分配流量。
  • mode 6 (balance-alb 自适应):自适应负载均衡,结合了balance-tlb和active-backup,提供更高的容错和负载均衡。
3.2、配置bond
3.2.1、添加网卡

Linux系统网络配置与Bond多网卡绑定_第1张图片

3.2.2、新建bond配置文件
[root@padoru ~]# cd   /etc/sysconfig/network-scripts/
[root@padoru ~]# vim ifcfg-bond0                     //配置新的bond配置文件
NAME=bond0
TYPE=bond
DEVICE=bond0
BOOTPROTO=none
IPADDR=192.168.91.22
NETMASK=255.255.255.0
GATEWAY=192.168.91.2
DNS1=8.8.8.8
BONDING_OPTS="mode=1 miimon=100 fail_over_mac=1"
3.2.3、修改网卡配置文件
[root@padoru ~]# vim ifcfg-ens33
BOOTPROTO=static
NAME=ens33
DEVICE=ens33
ONBOOT=yes
MASTER=bond0        //主网卡
SLAVE=yes           //备用网卡

[root@padoru ~]# vim ifcfg-ens36
NAME=ens36
DEVICE=ens36
BOOTPROTO=none
MASTER=bond0        //主网卡
SLAVE=yes           //备用网卡
ONBOOT=yes

[root@padoru ~]# systemctl restart network      //重启网络服务
3.2.4、查看bond配置信息
[root@localhost network-scripts]#cat /proc/net/bonding/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:fe:e5:bf
Slave queue ID: 0

你可能感兴趣的:(linux,运维,服务器)