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 #######################################################