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