CentOS6重置網卡克隆後的自適應腳本(二)

  • 0.簡單說明: 第一篇文檔的配置方法較爲繁瑣,現在換一個較爲簡明的方法實現功能

  • 1.依據《CentOS6實驗機模板搭建部署》部署模版機

  • 2.CentOS6模版機克隆後網卡重命名問題修正

echo "grep -q 'udev: renamed network interface' /var/log/dmesg && rm -f /etc/udev/rules.d/70-persistent-net.rules && reboot">>/etc/rc.d/rc.local

  • 3.添加可能存在的網絡和其對應的IP網關配置
# 要提前確認虛擬機的網卡設備名,提前收集所有可能存在的網絡vlan信息,提前規劃好每個網絡預留IP
cat >>/etc/rc.d/rc.local<<EOF
ifconfig eth0:0 192.168.77.2 netmask 255.255.255.0 up && route add -net 192.168.77.2 netmask 255.255.255.255 gw 192.168.77.1
ifconfig eth0:1 192.168.1.2  netmask 255.255.255.0 up && route add -net 192.168.1.2  netmask 255.255.255.255 gw 192.168.1.1
EOF

  • 4.克隆後只需要執行一次,然後將生效行註釋掉,包括註釋行爲自己也註釋掉
echo "sed -i 's/^[grep|ifconfig|sed]/# &/g' /etc/rc.d/rc.local">>/etc/rc.d/rc.local

  • 5.以上綜合起來配置
cat >>/etc/rc.d/rc.local<<EOF
grep -q 'udev: renamed network interface' /var/log/dmesg && rm -f /etc/udev/rules.d/70-persistent-net.rules && reboot
sed -i 's/^# \([ifconfig|sed]\)/\1/g' /etc/rc.d/rc.local
# ifconfig eth0:0 192.168.77.2 netmask 255.255.255.0 up && route add -net 192.168.77.2 netmask 255.255.255.255 gw 192.168.77.1
# ifconfig eth0:1 192.168.1.2  netmask 255.255.255.0 up && route add -net 192.168.1.2  netmask 255.255.255.255 gw 192.168.1.1
# sed -i 's/^[grep|ifconfig|sed]/# &/g' /etc/rc.d/rc.local
EOF
# 相關解釋:
# 建議使用該部分進行綜合配置,2、3、4操作忽略
# 當模版機克隆後第一次啓動的時候,需要修正網卡重命名問題並重啓
# 此時臨時IP配置和註釋操作處於不生效狀態,被第一個sed反向註釋打開
# 重啓後,配置臨時IP,然後第二個sed註釋掉這些操作

  • 6.模版機開機做其他配置部署後,如果要重置模版機的這些網絡適應性操作,則
sed -i 's/^ifconfig/# ifconfig/g' /etc/rc.d/rc.local
sed -i "s|sed -i 's/^\[|# sed -i 's/^\[|g" /etc/rc.d/rc.local
init 0

  • 7.如果要添加模版機中的vlan信息,則
echo "ifconfig eth0:2 192.168.66.2 netmask 255.255.255.0 up && route add -net 192.168.66.2 netmask 255.255.255.255 gw 192.168.66.1">>/etc/rc.d/rc.local
sed -i 's/^ifconfig/# ifconfig/g' /etc/rc.d/rc.local
sed -i "s|sed -i 's/^\[|# sed -i 's/^\[|g" /etc/rc.d/rc.local
init 0
# 注意,添加的臨時別名不能存在

  • 8.模版機克隆啓動後,克隆出來的機器如果要修改臨時配置的IP,則打開配置臨時IP的行,修改IP,打開第二個sed
sed -i 's/^# ifconfig/ifconfig/g' /etc/rc.d/rc.local
sed -i 's/.2 /.3 /g' /etc/rc.d/rc.local
sed -i "s|# sed -i 's/^\[|sed -i 's/^\[|g" /etc/rc.d/rc.local
reboot

[TOC]

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章