
用shell 脚本如何实现:执行脚本+ip 。就可以配置dhcp服务器MAC与IP绑定 MAC地址已经输入/etc/dhcpd.conf
展开全部
我没配过dhcp,我想问一下,我写这个脚本的时候,这个host我是一台机器都必须要定义一个host
还是把这个绑定信息全写在一个host里?host后边跟着的命名,是自定义的,还是必须针对对方的主机名字?
host station10 {
hardware ethernet 00:00:00:00:00:00
fixed-address 192.168.8.1
}
#!/bin/bash
read -p "Please Input HOSTNAME:" name
read -p "Please Input MAC:" mac
read -p "Please input IP:" ip
cat >>/etc/dhcpd.conf<<EOF
host $name {
hardware ethernet $mac
fixed-address $ip
}
EOF
还是把这个绑定信息全写在一个host里?host后边跟着的命名,是自定义的,还是必须针对对方的主机名字?
host station10 {
hardware ethernet 00:00:00:00:00:00
fixed-address 192.168.8.1
}
#!/bin/bash
read -p "Please Input HOSTNAME:" name
read -p "Please Input MAC:" mac
read -p "Please input IP:" ip
cat >>/etc/dhcpd.conf<<EOF
host $name {
hardware ethernet $mac
fixed-address $ip
}
EOF
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我已经给你写好
你需要吧MAC地址输出到一个文件里面,比如/root/1
/etc/dhcpd.conf里面最后2行要加上
subnet 192.168.0.0 netmask 255.255.255.0{
range 192.168.0.21 192.168.0.220;
{
然后执行我这个脚本
#!/bin/bash
mun=1
while read -r line
do
mac=`echo $line | awk '{print $1}'`
echo "host $mun {" >> /etc/dhcpd.conf
echo "hardware ethernet $mac;" >> /etc/dhcpd.conf
echo "fixed-address 192.168.0.${mun};" >> /etc/dhcpd.conf
echo "}" >> /etc/dhcpd.conf
mun=`expr $mun + 1 `
done < /root/1
执行结束再在/etc/dhcpd.conf最后加上 }
你需要吧MAC地址输出到一个文件里面,比如/root/1
/etc/dhcpd.conf里面最后2行要加上
subnet 192.168.0.0 netmask 255.255.255.0{
range 192.168.0.21 192.168.0.220;
{
然后执行我这个脚本
#!/bin/bash
mun=1
while read -r line
do
mac=`echo $line | awk '{print $1}'`
echo "host $mun {" >> /etc/dhcpd.conf
echo "hardware ethernet $mac;" >> /etc/dhcpd.conf
echo "fixed-address 192.168.0.${mun};" >> /etc/dhcpd.conf
echo "}" >> /etc/dhcpd.conf
mun=`expr $mun + 1 `
done < /root/1
执行结束再在/etc/dhcpd.conf最后加上 }
追问
谢谢您!如果客户端执行脚本+想要的ip+自己的MAC 就可以从服务器那里获得固定IP这个怎么实现呢
追答
subnet 192.168.0.0 netmask 255.255.255.0{
range 192.168.0.21 192.168.0.220;
host HOST {
hardware ethernet MAC;
fixed-address IP;
}
} (这个是dhcpd配置MAC绑定IP的具体格式)
客户机的IP与MAC地址对应写入一个文件/root/1
然后你去读取(假设第一段为IP第2段位MAC地址)便用以下脚本
#!/bin/bash
mun=1
while read -r line
do
IP=`echo $line | awk '{print $1}'`
mac=`echo $line | awk '{print $2}'`
echo "host $mun {" >> /etc/dhcpd.conf
echo "hardware ethernet $mac;" >> /etc/dhcpd.conf
echo "fixed-address $IP;" >> /etc/dhcpd.conf
echo "}" >> /etc/dhcpd.conf
mun=`expr $mun + 1 `
done < /root/1
还有subnet 192.168.0.0 netmask 255.255.255.0{
range 192.168.0.21 192.168.0.220;
{ 《--这个大括号不要的
至于那个客户机取IP与MAC的脚本,因为要用到expect,不是很擅长,现在在家没虚拟机不好测试
个人推荐先让所有客户端写固定配上自己想要的IP然后网关填上服务器,在服务器上arp 用awk取出ip与MAC地址然后再用我上面的脚本写入DHCP
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询