centos7 设置bond、bridge、vlan

# CentOS7中 nmcli命令由NetworkManager提供
# 可以用于设置:bond、bridge、vlan、wifi、bluetooth、ethernet、vpn等等

#nmcli的一般用法:
nmcli dev status  #查看网络连接状态
nmcli conn show   #查看已有连接
nmcli dev show    #查看设备详细信息

nmcli conn delete UUID1 UUID2  #删除不需要的连接
nmcli dev connect ens33        #连接设备eno33
nmcli dev disconnect eno33     #断开设备eno33

nmcli conn down ens33   #关闭连接ens33
nmcli conn up ens33     #打开连接ens33
nmcli connection reload #重新加载网络

#################
#设置固定ip
NetName=ens37 #网卡名称
nmcli con add con-name $NetName ifname $NetName autoconnect yes type ethernet ip4 192.168.58.100/24 \
 ipv4.dns "172.16.11.14 172.16.11.13" #ipv4.gateway "192.168.58.1"

#命令设置ip,会直接生成配置文件

#Shell 实例
######设置双网卡bond参考################################
##!/bin/sh
#Seting
Bond=bond0
Lan1=em2
Lan2=em3
IP=10.2.1.21
Gateway=10.2.1.1
DNS="172.16.11.14 172.16.11.13"

#backup
#cp /etc/sysconfig/network-scripts/ifcfg-$Lan1{,.bak}
#cp /etc/sysconfig/network-scripts/ifcfg-$Lan2{,.bak}

nmcli conn down $Lan1
nmcli conn down $Lan2
nmcli conn down $Bond

Dir=/etc/sysconfig/network-scripts
rm -f $Dir/*$Lan1
rm -f $Dir/*$Lan2
rm -f $Dir/*$Bond
# #mode=0(balance-rr)(平衡抡循环策略),设置bond
nmcli conn add type bond con-name $Bond ifname $Bond mode balance-rr
nmcli conn add type bond-slave con-name $Lan1 ifname $Lan1 master $Bond
nmcli conn add type bond-slave con-name $Lan2 ifname $Lan2 master $Bond
#设置bond IP
nmcli conn modify $Bond ipv4.addresses "$IP/24"  ipv4.gateway "$Gateway" ipv4.dns "$DNS"
nmcli conn modify $Bond ipv4.method manual
#启动
nmcli connection up $Lan1
nmcli connection up $Lan2
nmcli connection up $Bond
systemctl restart network
#######################################################



###############添加网桥实例###########################
#bond0加网桥
#采用linux bridge
brctl addbr br-bond
brctl addif br-bond bond0
ifconfig bond0 0.0.0.0
ifconfig br-bond 10.2.1.21/24 up

#更改配置文件
cd /etc/sysconfig/network-scripts
cp -f ifcfg-bond0 ~/  #备份
#ifcfg-bond0 修改,注释掉IP、GATEWAY、NETMASK
sed -i 's/^IPADDR=/#IPADDR=/g' ifcfg-bond0
sed -i 's/^GATEWAY/#GATEWAY/g' ifcfg-bond0
sed -i 's/^IPADDR=/#IPADDR=/g' ifcfg-bond0
echo "BRIDGE=br-bond">>ifcfg-bond0
echo "
TYPE=Bridge
BOOTPROTO=static
NAME=br-bond
DEVICE=br-bond
ONBOOT=yes
IPADDR=10.2.1.21
NETMASK=255.255.255.0
GATEWAY=10.2.1.1
DNS1=172.16.11.14
DNS2=119.29.29.29
">ifcfg-br-bond
cd -
#####
systemctl restart network #重启网络
ifconfig
#################################
#撤销bridge
rm -f /etc/sysconfig/network-scripts/ifcfg-br-bond
sed -i 's/^#//' /etc/sysconfig/network-scripts/ifcfg-bond0
sed -i "/BRIDGE/d" /etc/sysconfig/network-scripts/ifcfg-bond0
ifdown bond0 && ifup bond0
#######################################################


# nmcli命令 创建网桥
nmcli con add type bridge con-name br0 ifname br0
nmcli connection modify br0 ipv4.addresses 192.168.3.100/24 ipv4.method manuall
nmcli con add type bridge-slave [con-name br0-port0] ifname em2 master br0

启动网桥
nmcli connection up br0-port0
关闭并取消网桥设置
先down掉网桥
nmcli connection down br0
在删除设置
nmcli connection delete bridge-slave-eth1
nmcli connection delete br0
重新加载网络
nmcli connection reload
#######################################################
#设置Vlan 需要链接交换机trunck

#创建Vlan8网络,网络接口eth0 ,id 8 ,并设置固定ip
nmcli con add type vlan con-name Vlan8 dev eth0 id 8 \
    ip4 192.168.8.4/24 gw4 192.168.8.1
#使用nmcli命令创建vlan参考红帽官网
https://access.redhat.com/documentation/zh-cn/red_hat_enterprise_linux/7/html/networking_guide/sec-configure_802_1q_vlan_tagging_using_the_command_line_tool_nmcli

#######################################################
#没nmcli命令可以使用vconfig工具
# 使用vconfig工具设置vlan
1,nmcli 设置bond0,不设置ip
2,使用vlan需要内核加载模块
/sbin/modprobe -a 8021q
lsmod | grep 8021q
echo "#Vlan
/sbin/modprobe -a 8021q">>/etc/rc.local
#
3,命令添加vlan
#yum install epel-release
yum install -y vconfig
# bond0接口添加vlan 的id号为21
vconfig add bond0 21
ifconfig bond0.21 172.16.50.20/24 up
#route add default gw 172.16.50.1
#vconfig rem bond0.21 #删除vlan
#命令如下:
#Vlan
modprobe  8021q
ifconfig bond0 0.0.0.0
vconfig add bond0 21
ifconfig bond0.21 172.16.50.20/24 up
vconfig add bond0 20
ifconfig bond0.20 10.2.1.22/24 up
route add default gw 10.2.1.1
#vlan设置shell添加到开机启动,试列如下
#!/bin/bash
/sbin/vconfig add eth1 1
/sbin/vconfig add eth1 2
/sbin/ip address add 192.168.2.1/24 dev eth1.1
/sbin/ip address add 192.168.3.1/24 dev eth1.2
/sbin/ip link set eth1.1 up
/sbin/ip link set eth1.2 up

#######################################################

 

posted @ 2019-03-14 11:32  侃豺小哥  阅读(1653)  评论(0编辑  收藏  举报