由于单位内部采用linux的主机进行DHCP,并且对部分管理员层人员的IP地址进行MAC绑定,由于管理层人员变动大,人员多,vi直接对dhcpd.conf进行编辑可行,但不便于管理。
想法:通过PHP程序,将MAC地址IP地址和使用人的对应关系记录到数据库中,通过PHP对dhcpd.conf文件进行操作,达到配置文件与数据库的MAC和IP地址相匹配。既是说,当向数据库中添加一个人员和MAC、IP地址的对应关系,就向dhcpd.conf文件中增加一条记录,反之,当删除一条数据库记录,则找到dhcpd.conf文件中对应的内容,将其删除。编辑同理。
google和百度了半天,都没找到好点的方法,求达人指导。 dhcpd.conf中MAC地址绑定的内容如下:
host user1 {
hardware ethernet 00:00:00:00:00:00;
fixed-address 1.1.1.1;
}
host user2 {
hardware ethernet 11:11:11:11:11:11;
fixed-address 2.2.2.2;
}
数据库记录很简单
user MAC IP
user1 00:00:00:00:00:00 1.1.1.1
user2 11:11:11:11:11:11 2.2.2.2
想法:通过PHP程序,将MAC地址IP地址和使用人的对应关系记录到数据库中,通过PHP对dhcpd.conf文件进行操作,达到配置文件与数据库的MAC和IP地址相匹配。既是说,当向数据库中添加一个人员和MAC、IP地址的对应关系,就向dhcpd.conf文件中增加一条记录,反之,当删除一条数据库记录,则找到dhcpd.conf文件中对应的内容,将其删除。编辑同理。
google和百度了半天,都没找到好点的方法,求达人指导。 dhcpd.conf中MAC地址绑定的内容如下:
host user1 {
hardware ethernet 00:00:00:00:00:00;
fixed-address 1.1.1.1;
}
host user2 {
hardware ethernet 11:11:11:11:11:11;
fixed-address 2.2.2.2;
}
数据库记录很简单
user MAC IP
user1 00:00:00:00:00:00 1.1.1.1
user2 11:11:11:11:11:11 2.2.2.2
另外重启服务的问题可以用sudo解决,因只对内部相关人员开放,因此sudo的安全性不用考虑了。
'host ', user, ' {\n',
' hardware ethernet ', MAC, ';\n',
' fixed-address ', IP, ';\n',
' }\n')
FROM tbl_name
INTO OUTFILE 'dhcpd.conf'