将Linux主机接入到网络,需要配置网络相关设置
一般包括如下内容:
接口命名方式:RHEL 6
以太网:eth[0,1,2,…]
ppp:ppp[0,1,2,…]
网络接口识别并命名相关的udev配置文件:
/etc/udev/rules.d/70-persistent-net.rules
查看网卡:
dmesg |grep –i eth
ethtool -i eth0
卸载网卡驱动:
modprobe -r e1000
rmmod e1000
装载网卡驱动:
modprobe e1000
📑17.3.1 ip命令
来自于iproute包
17.3.1.1 配置Linux网络属性
ip [ OPTIONS ] OBJECT { COMMAND | help }
ip命令说明:
OBJECT := { link | addr | route }
ip link - network device configuration
set dev IFACE,可设置属性:up and down:激活或禁用指定接口,相当于 ifup/ifdown
show [dev IFACE] [up]::指定接口 ,up 仅显示处于激活状态的接口
ip地址管理
ip addr { add | del } IFADDR dev STRING [label LABEL] [scope {global|link|host}]
[broadcast ADDRESS]
[label LABEL]:添加地址时指明网卡别名
[scope {global|link|host}]:指明作用域,global: 全局可用.link: 仅链接可用,host: 本机可
用
[broadcast ADDRESS]:指明广播地址
ip address show
ip addr flush
范例:
#禁用网卡
ip link set eth1 down
#网卡改名
ip link set eth1 name haonet
#启用网卡
ip link set haonet up
#网卡别名
ip addr add 172.16.100.100/16 dev eth0 label eth0:0
ip addr del 172.16.100.100/16 dev eth0 label eth0:0
#清除网络地址
ip addr flush dev eth0
17.3.2.1 网络基本配置文件
IP、MASK、GW、DNS相关的配置文件:
/etc/sysconfig/network-scripts/ifcfg-IFACE
说明参考:
/usr/share/doc/initscripts/sysconfig.txt
常用配置
17.3.2.2 本地主机名数据库和IP地址的映射
优先于使用DNS前检查
getent hosts 查看/etc/hosts 内容
/etc/hosts
📑17.3.3 RHEL 7 以上版网络配置
RHEL 6之前,网络接口使用连续号码命名:eth0、eth1等,当增加或删除网卡时,名称可能会发生变化,RHEL 7以上版使用基于硬件,设备拓扑和设置类型命名。
RHEL 8 中已弃用network.service,采用NetworkManager(NM)为网卡启用命令。RHEL 8 仍可以安装network.service作为网卡服务,只是默认没有安装,具体方法为: dnf install networkscripts,不过官方已明确在下一个大版本中,将彻底放弃network.service,不建议继续使用network.service管理网络。
此章节内容还可参考金鱼哥另外2篇博文,可结合一起学习:
RH358服务管理和自动化–配置网络接口
RH358配置链路聚合–配置网络组Team
RH358配置链路聚合–管理网络组
17.3.3.1 网卡命名机制
systemd对网络设备的命名方式
1.如果Firmware或BIOS为主板上集成的设备提供的索引信息可用,且可预测则根据此索引进行命
名,如:eno1
2.如果Firmware或BIOS为PCI-E扩展槽所提供的索引信息可用,且可预测,则根据此索引进行命
名,如:ens1
3.如果硬件接口的物理位置信息可用,则根据此信息命名,如:enp2s0
4.如果用户显式启动,也可根据MAC地址进行命名,如:enx2387a1dc56
5.上述均不可用时,则使用传统命名机制
修改网卡命名规则:
vim /etc/sysconfig/grub
GRUB_CMDLINE_LINUX="resume=/dev/mapper/rhel-swap rd.lvm.lv=rhel/root rd.lvm.lv=rhel/swap rhgb quiet net.ifnames=0 biosdevname=0" #增加net.ifnames=0 biosdevname=0
grub2-mkconfig -o /boot/grub2/grub.conf
root
vim /etc/sysconfig/network-scripts/ifcfg-xxx
NAME=eth0
DEVICE=eth0
基于BIOS支持启用biosdevname软件
内置网卡:em1,em2
pci卡:pYpX Y:slot ,X:port
网卡组成格式
en: Ethernet 有线局域网
wl: wlan 无线局域网
ww: wwan无线广域网
o<index>: 集成设备的设备索引号
s<slot>: 扩展槽的索引号
x<MAC>: 基于MAC地址的命名
p<bus>s<slot>: enp2s1
17.3.3.2 网络配置工具 nmcli
命令行工具:nmcli
依赖于NetworkManager服务,此服务是管理和监控网络设置的守护进程
nmcli命令
nmcli命令相关术语
格式:
nmcli [ OPTIONS ] OBJECT { COMMAND | help }
device - show and manage network interfaces
nmcli device help
connection - start, stop, and manage network connections
nmcli connection help
修改IP地址等属性:
nmcli connection modify IFACE [+|-]setting.property value
setting.property: ipv4.addresses ipv4.gateway ipv4.dns1 ipv4.method manual | auto
修改配置文件执行生效:
nmcli con reload
nmcli con up con-name
范例:
#查看帮助
nmcli con add help
#使用nmcli配置网络
nmcli con show
#显示所有活动连接
nmcli con show --active
#显示网络连接配置
nmcli con show "System eth0“
#显示设备状态
nmcli dev status
#显示网络接口属性
nmcli dev show eth0
#创建新连接default,IP自动通过dhcp获取
nmcli con add con-name default type Ethernet ifname eth0
17.3.3.3 网络组 Network Teaming
网络组:是将多个网卡聚合在一起方法,从而实现冗错和提高吞吐量
网络组不同于旧版中bonding技术,提供更好的性能和扩展性
网络组由内核驱动和teamd守护进程实现
网络组特点
例子文件:
/usr/share/doc/teamd/example_configs/...
1
#创建网络组接口
nmcli con add type team con-name CNAME ifname INAME [config JSON]
CNAME 连接名
INAME 接口名
JSON 指定runner方式,格式:'{"runner": {"name": "METHOD"}}'
METHOD 可以是broadcast, roundrobin, activebackup, loadbalance, lacp
#创建port接口
nmcli con add type team-slave con-name CNAME ifname INAME master TEAM
CNAME 连接名,连接名若不指定,默认为team-slave-IFACE
INAME 网络接口名
TEAM 网络组接口名
#断开和启动
nmcli dev dis INAME
nmcli con up CNAME
INAME 设备名 CNAME 网络组接口名或port接口
网络组示例
nmcli con add type team con-name myteam0 ifname team0 config '{"runner":{"name": "loadbalance"}}'
nmcli con add con-name team0-eth1 type team-slave ifname eth1 master team0
nmcli con add con-name team0-eth2 type team-slave ifname eth2 master team0
nmcli con up myteam0
nmcli con up team0-eth1
nmcli con up team0-eth2
teamdctl team0 state
阅读量:1625
点赞量:0
收藏量:0