linux网络的基本设置

时间:2024-11-12 08:04:52

1、查看网络接口信息

ip  a/ip   addr

#简略的查看网络接口信息

ifconfig

#只显示当前活跃的设备

ifconfig -a #实现当前主机的所有网络设备,包括未运行的设备

root@ubuntu1:~# ifconfig

ens33:flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500

设备名          端口  启用    支持广播     正在运行    支持组播       最大传输单元

inet 192.168.206.20   netmask 255.255.255.0    broadcast 192.168.206.255

网络设备的ip地址        网段的子网掩码                 广播地址

ether 00:0c:29:4b:2d:00   txqueuelen 1000     (Enternet)

网卡的mac地址                   传输队列长度           (以太网)物理网卡

RX  packets 4876      bytes 410968 (410.9 KB)

接受报文的个数         接受报文的总大小

RX errors 0            dropped 0        overruns 0       frame 0

接收时发生的错误    丢弃                  溢出               冲突帧数

TX packets 1087      bytes 113238 (113.2 KB)

发送报文的个数        发送报文的总大小

TX errors 0      dropped 0    overruns 0   carrier 0    collisions 0

发送时的错误   丢弃              溢出            载荷          冲突

设置单个网络设备的虚拟网卡

 ifconfig   ens33:1     192.168.206.100/24

ens33为真实网卡,且真实网卡必须要能正常工作

:后面可以是数字也可以是字母,不要用汉字,而且字母和数字不能重复

虚拟网卡的ip地址不能重复

配置一台主机的多个网卡

ubuntu:   vim /etc/netplan/01-network-manager-all.yaml

                netplan   apply

centos:   cd /etc/sysconfig/network-scripts

               cp  ifcfg-ens33  ifcfg-ens36

               vim ifcfg-ens36

               修改DEVICE和ip地址

               systemctl   restart    network

 

 

对单个网络设备进行操作

ifconfig   设备名   down  #关闭指定的网络接口

ifconfig   设备名   up      #开启指定的网络接口

ifup/ifdown      设备名    #对单个网络设备进行操作

重启所有网络设备

centos:   systemctl    restart    network

ubuntu:   netplan    apply

网卡名称

eth0 ens33  ens36  ens37 等等,系统自定义

2、查看主机的路由条目

route   #查看路由条目、网关

route    -n    #数字化形式展示路由条目

traceroute    #测试当前主机到目标主机之间经过的网络节点

3、查看网络连接情况

netstat

ss

常用选项(netstat和ss都适用) 说明
-a 显示主机中所有活动的网络连接信息
-n 数字化的形式显示主机地址和端口信息
-r 显示路由表的信息
-t 只显示TCP协议的信息
-u 只显示DUP协议的信息
-p 显示网络连接信息的进程号,进程名的相关信息(需要root权限)

netstat  -antp  |  grep  端口名/应用名称

ss   -antp  |  grep  端口名/应用名称

root@ubuntu1:~# netstat -antp | grep 80

tcp    0   0   0.0.0.0:80    0.0.0.0:*    LISTEN    2259/nginx: master

tcp6  0   0    :::80            :::*             LISTEN    2259/nginx: master

#

tcp 协议     tcp6   ipv6

0.0.0.0:80  服务开放的监听地址和端口号

0.0.0.0:* 表示谁都可以连接,表示任意的ip地址 *:任意端口

LISTEN 监听  等待连接,开放出来的连接地址

2259 进程号   nginx  服务名

ESTABLISTEN  表示已经连接并且正在传输数据

timewait: 不是报错,是tcp连接状态的一种。表示双方已经传输完了数据,进入等待时间,一旦有数据传输,无需再三次握手建立连接(节约资源)

4、列出当前打开的文件 

lsof  (list open files)

lsof     -p    进程号   #根据进程号显示打开的文件和网络连接

lsof    -i:22      #列出指定的端口被哪些进程占用

lsof    -u     root    #指定的用户打开的网络进程和文件

5、测试网络的连通性

ping   (icmp协议)

-c     ping的次数

-i      发送包的间隔时间 也就是ping的间隔时间

-W    ping的超时时间

-w     多少秒之后停止ping操作

6、DNS

dns解析--->域名转换成ip地址

nslookup   域名解析的命令

/etc/hosts    #本地的域名和ip地址的映射

/etc/resolv.conf    #本地DNS解析服务器的配置文件(内网环境)

这两个配置文件配置完了即刻生效,不需要重启

7、bond网卡

绑定网卡 多个网卡共用一个ip地址。

实现高可用:如果其中一个网卡故障,不影响业务的使用。

bond网卡模式 说明
mode=0 round robin 轮询 两个网卡都会使用
mode=1 active-backup 冗余功能 只有一个工作,另一个备用
mode=2 load balancing 平衡策略,也能提供轮询和容错
mode=3 广播策略 广播地址的高可用
mode=4 动态链接聚合 交换机设置
mode=5 transmit load balancing 适配器负载均衡 以太网设备能够获取每个网卡的速率
mode=6 adaptive load balancing 适配器负载均衡 balanced-tld模式,针对流量实现负载均衡。不需要交换机。

centos:

vim ifcfg-ens33   #修改ens33的配置

BOOTPROTO=none

MASTER=bond0

SLAVE=yes

USERCTL=no

vim ifcfg-ens36    #修改ens36的配置

BOOTPROTO=none

MASTER=bond0

SLAVE=yes

USERCTL=no

vim ifcfg-bond0   #新建bond0的配置

TYPE=Ethernet

DEVICE=bond0

ONBOOT=yes

BOOTPROTO=static

IPADDR=192.168.206.10

NETMASK=255.255.255.0

GATEWAY=192.168.206.2

BONDING_OPTS="miimon=100 mode=0 fail_over_mac=1"

#

miimon=100单位毫秒

检测链路的间隔(100毫秒检查一次所有设备的状态,如果发现故障,开始触发故障切换)

mode=0  使用bond的轮询模式

fail_over_mac=1 表示在故障切换时,备用接口会直接获取主接口的mac地址。减少切换地址过程中可能出现的中断

modprobe bonding

systemctl restart network

ubuntu:

vim   /etc/netplan/01-network-manager-all.yaml

# Let NetworkManager manage all devices on this system

network:

    ethernets:

        ens33:

            dhcp4: no

        ens37:

            dhcp4: no

    bonds:

        bond0:

            dhcp4: no

            addresses: [192.168.206.20/24]

            getway4: 192.168.206.2

            interfaces:

               - ens33

               - ens37 ​

            parameters: ​

                mode: balance-alb ​

                mii-monitor-interval: 100

echo "options bonding mode=6" | sudo tee /etc/modprobe.d/bonding.conf

modprobe -r bonding

modprobe bonding

netplan  apply