扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
以前都是使用ifconfig来配置网络,今天开始尝试使用nmcli 。
创新互联-专业网站定制、快速模板网站建设、高性价比阜南网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式阜南网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖阜南地区。费用合理售后完善,十余年实体公司更值得信赖。
1、网络接口名称
centos7或者红帽7中,以en开头标识以太网,之前的版本是eth开头。同时,wl标识waln接口,ww标识wwan接口。
接下里就是网卡类型, p代表pci物理位置,o代表板载,s代表热插拔。最后数字表示索引、id或端口。 比如笔者的虚拟机上enp0s3,pci网卡slot3。
如果无法确定固定名称则采用传统的ethn的方式。
2、查看网络配置
使用ip addr显示ip地址,ip addr show eth0显示网卡eth0 , ip -s link show eth0 显示连接状态,可用查看到数据包。netstat -i也可以罗列网卡并查看数据流量。
3、查看路由与排查
ip route检查系统路由表,
ping网关地址。ping -c4是ping 4次, timeout 4则是超时时间4秒。
tracepath或者traceroute命令追踪到目标主机的网络状态。
4、端口与服务
TCP服务使用套接字.socket作为通信的端点,其由IP地址、协议和端口组成。服务器通常监听标准端口,客户端使用随机可用端口。标准端口在/etc/services中列出。
查看监听端口:ss和netstat命令。
5、使用nmcli查看网络
networkmanager是监控和管理网络的守护进程,可用通过命令行与图形界面来与networkmanager通信,并将配置文件保存在/etc/sysconfig/network-scripts目录中。
使用nmcli查看网络信息:
nmcli con show 查看网络接口
nmcli con show --active 查看活动网络接口
nmcli con show "enp0s3" 查看enp0s3网络的详情信息
nmcli device status 查看设备的信息
nmcli device show enp0s3 查看 enp0s3设备的信息
6、使用nmcli配置网络
可以为网络设备配置多个网络连接(配置文件),但是一次只能由一个保持活动状态。
创建一个"default"新连接,并使用dhcp获取网络。
nmcli con add con-name "default" type ethernet ifname eth0
创建一个静态连接,配置静态IP,并设置不自动连接。
nmcli con add con-name "static" type ethernet ifname eth0 autoconnect no ip4 172.25.0.12/24 gw4 172.25.0.254
更改为静态链接。
nmcli con up "static"
更改为dhcp链接。
nmcli con up "default"
查看使用信息。
nmcli con add help
修改配置,过多就不阐述了。
nmcli con mod
nmcli 命令摘要:
7、编辑网络配置文件
接口配置文件时控制单个网络设备的软件接口,网络设备可以有多个配置文件,但是只有一个时激活状态。
ifcfg配置文件选项(辅助IP地址将配置文件中的选项添加1)
配置过程:
a、修改 ifcfg配置文件
b、使用nmcli命令使配置生效或者重启进程
nmcli con reload
nmcli con down “ID” ,nmcli con up “ID”
c、通过ping验证网络配置
8、主机名和名称解析
hostname 查看主机名
hostnamectl status 查看主机信息
hostnamectl set-hostname 设置主机名
静态主机名储存在/etc/hostname文件中。名称解析用于将主机名转为IP地址,反之亦可,在/etc/hosts中定义。
可用使用getent hosts your_hostname,利用/etc/hosts来测试主机名解析。
如果/etc/hosts中没有,则会查找/etc/ resolv.conf文件。
修改网卡命令规则 (eth0、eth1、eth2……)
打开grub内核引导程序,在……quiet 后面添加:
让网卡命名规则生效
nmcli命令删除错误网卡命名
nmcli命令添加网卡命名
解析: nmcli connection 添加 类型 以太网设备 网卡设备名为eth0 nmcli命令的命名为eth0
修改IP地址、子网掩码、网关地址、DNS
解析:nmcli connection 修改 网卡名 ipv4.方法 手工配置 ipv4.地址192.168.4.7/24 ipv4.网关 192.168.4.254 每次开机自动启用以上所有参数
查看网卡配置文件
查看网关地址信息
本文主要解决3个问题:
第一、链路聚合的定义和作用是什么?
第二、如何配置链路聚合?
第三、链路聚合的实际应用场景有那些?
第一、链路聚合的定义和作用是什么?
答:链路聚合的定义:链路聚合,官方称聚合链接,民间又称网卡组队,具体指的是将多个网卡绑定在一起组建一个虚拟网卡,外界与虚拟网卡进行通信,虚拟网卡再将信息进行分发;
链路聚合的作用:可以实现轮询式的流量负载均衡和热备份的作用;
举个栗子:
链路聚合就好比是一个包工头,这个包工头为了多赚钱,多接订单,肯定需要找多个小弟;
这样就可以保障,万一有一个小弟感冒了,不能上班,这时有其他小弟可以顶上;
当客户需要盖房子的时候,直接找包工头就好了,不需要一个一个的去找建筑工人;
第二、如何配置链路聚合?
答:
1、配置链路聚合的命令是:
nmcli connection add type team con-name team0 ifname team0 autoconnect yes config '{"runner": {"name": "activebackup"}}'
译为:nmcli connection 添加 类型 team(组队)
配置文件名 team0 网卡名 team0 每次开机自动启用
配置运行模式 热备份模式
整体译为:为系统网卡添加一个 team (团队),团队名称叫 team0 ,配置文件也叫 team0 , 并且设置为开机自动启动,配置运行模式为热备份模式;
2、为链路聚合添加成员的命令是:
nmcli connection add type team-slave con-name team0-1 ifname eth1 master team0 ;
nmcli connection add type team-slave con-name team0-2 ifname eth2 master team0;
注释:nmcli connection 添加 类型为 team的成员
配置文件名 team0-1 网卡为 eth1 主设备为 team0
整体译为:为主设备team0添加两张网卡,eth1和eth2;
3、为tem0配置ip地址的命令是:
nmcli connection modify team0 ipv4.method manual ipv4.addresses
“IP 地址 / 子网掩码” connection.autoconnect yes
4、激活team0的命令是:
nmcli connection up team0
第三、链路聚合的实际应用场景有那些?
答:当服务器提供比较重要的服务时,只准备一张网卡是远远不够的,因为一但网卡出现故障,客户就无法访问,这就会造成客户流失,体验感差;
这个时候就可以运用链路聚合的方法来解决,将多张网卡绑定在一起创建一张虚拟网卡,从而实现网卡热备份,流量轮询式负载均衡;
以此来保障服务器能够正常提供服务,给用户以良好的体验;
注意事项:
在创建虚拟网卡和添加成员时,如果命令敲错了,一定要删除错误的信息,以免造成通信混乱;
删除的命令是:nmcli connection delete team0 (team0或team x)
查看team0的信息命令是: teamdctl team0 state
以上.......
(本篇完)
祝:开心!
罗贵
2019-03-24
Linux配置ip地址的两种方法,实验环境为centos7.6
方法1:nmcli工具配置 (centos7以下版本不支持该方法)
第一步,通过nmcli connection查看网卡名称
[root@localhost ~]# nmcli connection
NAME UUID TYPE DEVICE
eth0 09be0948-faf1-43b6-a5a4-c19efab0bb48 ethernet eth0
第二步,配置ip,网关,dns,并设置网卡开机自动启动,最后开启网卡
[root@localhost ~]# nmcli connection modify eth0 ipv4.addresses "192.168.1.201/24"
说明:配置地址和掩码
[root@localhost ~]# nmcli connection modify eth0 ipv4.gateway "192.168.1.1"
说明:配置网关
[root@localhost ~]# nmcli connection modify eth0 ipv4.dns "180.76.76.76"
说明:配置dns
[root@localhost ~]# nmcli connection modify eth0 ipv4.method manual
说明:地址获取的方法为手动配置而不是dhcp
[root@localhost ~]# nmcli connection modify eth0 autoconnect yes
说明:开机自动打开网卡
[root@localhost ~]# nmcli connection up eth0
说明:立即打开网卡
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/4)
第三步,查看结果(这里使用ip addr命令查看,较新版本Linux系统支持该命令)
[root@localhost ~]# ip 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: eth0: mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:84:23:62 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.201/24 brd 192.168.1.255 scope global noprefixroute eth0
valid_lft forever preferred_lft forever
inet6 fe80::b7ad:e2ed:832e:99a9/64 scope link noprefixroute
valid_lft forever preferred_lft forever
测试通信
[root@localhost ~]# ping
PING (61.135.169.121) 56(84) bytes of data.
64 bytes from 61.135.169.121 (61.135.169.121): icmp_seq=1 ttl=53 time=34.7 ms
64 bytes from 61.135.169.121 (61.135.169.121): icmp_seq=2 ttl=53 time=27.9 ms
64 bytes from 61.135.169.121 (61.135.169.121): icmp_seq=3 ttl=53 time=24.1 ms
64 bytes from 61.135.169.121 (61.135.169.121): icmp_seq=4 ttl=53 time=25.2 ms
64 bytes from 61.135.169.121 (61.135.169.121): icmp_seq=5 ttl=53 time=24.2 ms
^C
--- ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4005ms
rtt min/avg/max/mdev = 24.177/27.277/34.718/3.970 ms
方法2:通过vi编辑网卡配置文件(最新版rhel8或centos8不推荐该方法,老版本rhel6及以下推荐该方法)
第一步,通过vi或vim打开配置文件
[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
第二步,编辑相关的参数
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=eth0
UUID=09be0948-faf1-43b6-a5a4-c19efab0bb48
DEVICE=eth0
ONBOOT=yes
IPADDR=192.168.1.202
PREFIX=24
GATEWAY=192.168.1.1
DNS1=180.76.76.76
PEERDNS=no
vi的编辑方法是,输入字母i,进行编辑,编辑完成后,按esc,再按:wq 保存退出。如果不保存,则是:q!退出
第三步,重启网络服务
[root@localhost ~]# service network restart
Restarting network (via systemctl): [ OK ]
第四步,查看结果并测试通信(这里用ifconfig命令来查看,各种版本Linux均支持该命令)
[root@localhost ~]# ifconfig eth0
eth0: flags=4163 mtu 1500
inet 192.168.1.202 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::b7ad:e2ed:832e:99a9 prefixlen 64 scopeid 0x20
ether 00:0c:29:84:23:62 txqueuelen 1000 (Ethernet)
RX packets 1117 bytes 127303 (124.3 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 564 bytes 69559 (67.9 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
[root@localhost ~]# ping
PING (61.135.169.125) 56(84) bytes of data.
64 bytes from 61.135.169.125 (61.135.169.125): icmp_seq=1 ttl=53 time=28.2 ms
64 bytes from 61.135.169.125 (61.135.169.125): icmp_seq=2 ttl=53 time=30.9 ms
^C
--- ping statistics ---
3 packets transmitted, 2 received, 33% packet loss, time 2003ms
rtt min/avg/max/mdev = 28.228/29.590/30.953/1.373 ms
[root@localhost ~]#
配置地址的两种方法就介绍到这里。
但是查看地址时,我们并没有看到网关和dns,那么网关和dns怎么看呢,用以下两条命令即可
[root@localhost ~]# route -n 通过查看路由表来知道网关
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.1.1 0.0.0.0 UG 100 0 0 eth0
[root@localhost ~]# cat /etc/resolv.conf 通过查看rsolv.conf文件来查看dns
# Generated by NetworkManager
nameserver 180.76.76.76
更多网络技术公开课,腾讯课堂搜“ 众元教育 ”,戳 免费公开课 ,可直接听课哦!
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流