#centos7 設置bond、bridge、vlan
#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
#######################################################