天天看點

DHCP自動化腳本

#!/bin/bash

#

dhcp="/mnt/server/dhcp-3.0.5-23.el5.i386.rpm"

file=/etc/sysconfig/network-scripts/ifcfg-eth0

grep dhcp $file

if [ $? -eq 0 ]

then

#設定ip

read -p "請輸入ip 位址": ip

read -p "請輸入子網路遮罩": net

read -p "請輸入網關位址": ga

sed -i 's/bootproto=.*/bootproto=static/' $file

echo ipaddr="$ip" >> $file

echo gateway=$ga >> $file

echo netmask=$net >> $file

service network restart

else

sed -i 's/^ipaddr.*$/ipaddr='$ip'/' $file

sed -i 's/^bootproto=.*/bootproto=static/' $file

sed -i 's/^netmask.*$/netmask='$net'/' $file

sed -i 's/^gateway.*$/gateway='$ga'/' $file

fi

rpm -q dhcp &> /dev/null

if [ $? -eq 1 ]

        echo "正在挂載CD光牒"

                if [ ! -d /mnt/server ]

                then

                        umount /dev/cdrom &> /dev/null

                        mount /dev/cdrom /mnt &> /dev/null

                        echo "正在安裝服務"

                        rpm -ivh $dhcp &> /dev/null

                        cp -p /usr/share/doc/dhcp-3.0.5/dhcpd.conf.sample /etc/dhcpd.conf

                        sed -i "4 s/192.168.0.0/192.168.1.0/" /etc/dhcpd.conf

                        sed -i "4 s/255.255.255.0/$net/" /etc/dhcpd.conf

                        sed -i "7 s/192.168.0.1/$ga/" /etc/dhcpd.conf

                        sed -i "12 s/192.168.1.1/$ip/" /etc/dhcpd.conf

                        sed -i "21 s/192.168.0.128/192.168.1.100/" /etc/dhcpd.conf

                        sed -i "21 s/192.168.0.254/192.168.1.254/" /etc/dhcpd.conf

                        service dhcpd restart

                        chkconfig dhcpd on

                else

                        echo "CD光牒已挂載"

                        sed -i '4 s/192.168.0.0/192.168.1.0/' /etc/dhcpd.conf

                        sed -i '21 s/192.168.0.128/192.168.1.100/' /etc/dhcpd.conf

                        sed -i '21 s/192.168.0.254/192.168.1.254/' /etc/dhcpd.conf

                fi

        echo "服務已安裝"

繼續閱讀