Day-1 网络管理
Rocky9 网络配置
一、网卡回归
cd /etc/NetworkManager/system-connections/
mv ens32.nmconnection eth0.nmconnection //网卡配置文件改名
vim eth0.nmconnection //ens32替换成eth0,uuid删掉
vim /etc/default/grub //改内核参数
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="resume=/dev/mapper/rl-swap rd.lvm.lv=rl/root rd.lvm.lv=rl/swap net.ifnames=0 biosdevname=0" //net.ifnames=0 biosdevname=0是自己手动添加的
GRUB_DISABLE_RECOVERY="true"
GRUB_ENABLE_BLSCFG=true
再将网卡配置文件内的网卡名和网卡ID更改为eth0,然后重启网卡即可
grub2-mkconfig -o /boot/grub2/grub.cfg //刷新内核参数表 重构菜单
nmcli connection down eth0;nmcli connection up eth0
或者直接nmcli connection reload
二、网络配置命令
1. 主机名
hostnamectl set-hostname 主机名
hostname 主机名
hostnamectl status //看主机名详细信息 具体状态
vim /etc/hostname //永久修改主机名
2. 本地主机名数据库和IP地址的映射
vim /etc/hosts //网络主机名 名字解析
3. DNS域名解析
vim /etc/resolv.conf //域名解析配置文件
常见公共DNS服务器指向
180.76.76.76 百度
223.5.5.5 阿里
114.114.114.114 电信
三、网络配置方式
1.ifconfig
ifconfig ethx IP/MASK [up]
例如:ifconfig eth0 192.168.1.100/24 给ethx这个网络接口配置静态IP地址 (送往Linux内核中TCP/IP协议栈,立即生效)
ifconfig ethx:x IP/MASK up 给网卡配置多个IP地址并生效
ifconfig ethx:x del IP 删除IP地址
ifup:激活某个非活动接口 例如ifup eth0
ifdown:下线某个活动接口
ifdown eth0
重启网卡:ifdown ens32;ifup ens32
2. route
-n:不解析(不将ip地址解析为主机名)
子命令
add:指明路由 [ -net | -host | default ]
例如 route add -host 192.168.2.100 gw 192.168.1.1
route add -net 192.168.2.0/24 gw 192.168.1.1
route add -net 0.0.0.0 netmask 0.0.0.0 gw 192.168.1.1 或者route add default gw 192.168.1.1
示例:route add default gw 10.10.64.1 添加默认路由,网关为10.10.64.1
注意:NetworkManager 会保护系统默认添加的默认路由
del:删除路由 (默认为default 网络位net 主机位host)
例如: route del -host 192.169.2.100
示例:route del default 删除默认路由
3. ip
ip [option] link | addr | route
link:show [interface | up] //二层网络信息
ip link add [link DEV] [ name ] NAME
ip link delete { DEVICE | dev DEVICE | group DEVGROUP } type TYPE [ ARGS ]
ip link set { DEVICE | dev DEVICE | group DEVGROUP } [ { up | down } ]
addr:show [[dev] interface] label可以指定别名
add IP/MASK dev interface 为网卡添加地址 一块网卡邦2个地址
del:删除网卡上指定的IP地址,格式同上
flush:清空所有IP地址(谨慎使用)
route:管理路由
show:显示路由表
add:添加路由 ip route add IP/MASK via next_hop [dev iface]
例如:ip route add 192.168.1.100 via 192.168.2.1
del:删除路由 ip route del IP/MASK
4. ss命令 ss -tan tnl
-t: tcp协议相关
-u: udp协议相关
-w: 裸套接字相关
-x:unix sock相关
-l: listen状态的连接
-a: 所有
-n: 数字格式
-p: 相关的程序及PID
-e: 扩展的信息
-m:内存用量
-o:计时器信息
常用组合:-tan, -uan, -tnl, -unl
5. nmcli 网络配置工具
网络配置强大功能命令nmcli,依赖NetworkManager服务,此服务是管理和监控网络设置的守护进程,网络接口连接是对网络接口的配置,一个网络接口可有多个连接配置,但同时只有一个连接配置生效
格式:
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 show
显示所有网卡网络链接状态:nmcli dev status
显示某个连接接口网络状态: nmcli dev show eth0
Down掉某个连接接口: nmcli dev disconnect eth0
up掉某个连接接口: nmcli dev connect eth0
显示所有活动网络链接:nmcli con show --active
显示网卡连接的配置:nmcli con show eth0
添加/删除网卡接口IP地址: nmcli con modify eth0 +/-ipv4.addresses 192.168.20.100/24
添加或修改网关:nmcli con modify eth0 ipv4.gateway 192.168.1.1
添加DNS:nmcli con modify eth0 +ipv4.DNS 8.8.8.8
例如:nmcli connection modify eth0 ipv4.method manual ipv4.addresses 192.168.10.100/24 ipv4.gateway 192.168.10.1 ipv4.dns 8.8.8.8 autoconnect yes
创建新连接static ,指定静态IP,兼容DHCP,不自动连接
nmcli con add con-name static ifname eth0 autoconnect no type ethernet ipv4.addresses 192.168.20.100/24 ipv4.gateway 192.168.20.1
创建新连接,指定静态IP,自动连接
nmcli connection add con-name eth1 ifname eth1 autoconnect yes type ethernet ipv4.method manual ipv4.addresses 192.168.10.100/24
nmcli con add help #查看帮助
nmcli con show #使用nmcli配置网络
nmcli con show --active #显示所有活动连接
nmcli con show "System eth0" #显示网络连接配置
nmcli dev status #显示设备状态
nmcli dev show eth0 #显示网络接口属性
nmcli con add con-name default type Ethernet ifname eth0 #创建新连接default,IP自动通过dhcp获取
nmcli con del default #删除连接
四、网卡配置文件
Centos-6/7/8 /etc/sysconfig/network-scripts/ifcfg-IFACE
Centos-6/7/8网卡配置文件参数详解:
DEVICE 配置文件用到的网络设备,名称一致
HWADDR 对应设备的MAC地址
BOOTPROTO 引导协议 (dhcp static none)
NM_CONTROLLED 网卡是否被Network manage 管理 (NetworkManage是一种自动管理网卡配置的工具,一般centos-6直接禁用)
ONBOOT:是否开启自动引导 置为yes
TYPE:接口类型,一般为以太网
UUID:设备唯一标识
IPADDR:IP地址指明
NETMASK:默认子网掩码
PREFIX:以长度方式指定掩码
GATEWAY:默认网关
Rocky-9 /etc/NetworkManager/system-connections/eth0.nmconnection
Rocky-9网卡配置文件自定义,使用图形工具nmtui或者nmcli命令行进行更改即可
[root@rocky-9 ~]# nmcli connection down ens33;nmcli connection up ens33 //重启网卡
或者直接nmcli connection reload //重读配置文件
或者 nmcli connection load /etc/NetworkManager/system-connections/eth0.nmconnection
或者 nmcli connection up /etc/NetworkManager/system-connections/eth0.nmconnection
若自定义网卡配置文件,或者自行编写,如下列案例:
[connection]
id=eth0
uuid=7f49fd62-02d9-323e-8f35-0c8249647a74
type=ethernet
autoconnect-priority=-999
interface-name=eth0
timestamp=1669365850
[ethernet]
[ipv4]
address1=192.168.100.100/24,192.168.100.1
#address2=192.168.100.200/24,192.168.100.1
dns=114.114.114.114;223.6.6.6;
dns-search=rockylinux.cn;rockylinux.org;
method=manual
[ipv6]
addr-gen-mode=eui64
method=auto
[proxy]
cat /etc/resolv.conf
五、网卡bond 或者 网卡网络组 Network Teaming
1. 网卡bond(聚合链路)
一般情况下一块网卡提供一个网络地址服务。但一旦网卡故障,会影响所有依赖网络的所有系统进程,所以在较高安全场景下,可以使用网卡bond。
原理:将多块网卡绑在一起,使用一个IP地址;但一般情况下,多个网卡原本不能设置同一个IP地址,于是网卡bond技术可以虚拟一块网卡对外提供链接。物理网卡的MAC地址修改为虚拟的网卡相同的MAC地址。
nmcli con add type bond con-name bond1 ifname bond1 mode active-backup ipv4.method manual ipv4.address 192.168.10.100/24
ip a 查看新增bond网卡
ls /etc/sysconfig/network-scripts/ 查看网卡配置文件
然后将两块物理网卡加入到bond中。
nmcli con add type bond-slave ifname eth0 master bond1
nmcli con add type bond-slave ifname eth1 master bond1
ls /etc/sysconfig/network-scripts/ 生成两个bond网卡配置文件
nmcli con up bond-slave-eth0
nmcli con up bond-slave-eth1 启用两块合成的bond网卡
cat /proc/net/bonding/bond1 查看现有网卡哪个是主,哪个是从。
2. Network Teaming
网络组:是将多个网卡聚合在一起方法,从而实现冗错和提高吞吐量
网络组不同于旧版中bonding技术,提供更好的性能和扩展性
创建网络组team
nmcli connection add con-name test type team ifname team0 config '{"runner":{"name":"activebackup"}}' ip4 192.168.10.200/24
将两块同网络的网卡加入team网络组内
nmcli con add con-name team0-eth0 type team-slave ifname eth0 master team0
nmcli con add con-name team0-eth1 type team-slave ifname eth1 master team0
在网络组team未激活的状态,查看team0的目前状态
[root@rocky-9 ~]# teamdctl team0 state
激活team
nmcli con up test
将两块加入team0网络组的网卡进行激活使用
nmcli con up team0-eth0
nmcli con up team0-eth1
管理team网络组
修改配置文件实现基本网络参数的变更
vim /etc/NetworkManager/system-connections/test.nmconnection
删除网络组
nmcli connection down test
teamdctl team0 state
nmcli connection show
nmcli connectioni delete team0-eth0
nmcli connectioni delete team0-eth1
nmcli connection show
六、Linux实现网桥(交换机)
桥接:把一台机器上的若干个网络接口“连接”起来。其结果是,其中一个网口收到的报文会被复制给其他网口并发送出去。以使得网口之间的报文能够互相转发。网桥就是这样一个设备,它有若干个网口,并且这些网口是桥接起来的。与网桥相连的主机就能通过交换机的报文转发而互相通信。
yum install bridge-utils(epel源)//使用brctl命令查看网桥设备
brctl show # 查看网桥基本属性
brctl showmacs br0 # 查看CAM(content addressable memory内容可寻址存储器)表
brctl addbr | delbr br0 # 添加和删除网桥 (注意:不会关联网卡配置文件)
brctl addif | delif br0 eth0 # 添加和删除网桥中网卡
ifconfig br0 up 或者ip link br0 up # 默认br0 是down,必须启用
brctl stp br0 on # 启用STP
注意:nmcli命令也可以创建软件网桥,同时会生成网卡配置文件
开启路由转发功能(将Linux主机模拟成为路由器)
相当于将linux主机当做路由器
临时修改 echo "1" > /proc/sys/net/ipv4/ip_forward
修改/etc/sysctl.conf配置文件
net.ipv4.ip_forward=1 然后sysctl -p 进行启用
修改内核参数并开机自动生效某些配置
echo “xxxxxx” > /etc/rc.d/rc.local (需要有执行权)