谈linux中配置和使用DHCP
至于DHCP的功能作用就不用再多举例,对我来说,就一句话,就是让客户机自动获取IP地址信息。
然后DHCP用于那些地方呢?比如说,你管理一个局域网,局域的计算机要能访问因特网。这时必须为要为能上网的计算机设置IP地址信息,当然,如果计算机数目少的话,那用不了多少时间就可以设置完成。但如计算机数目太多,上百台等。
咱办,虽然可以一台一台的去设置IP信息,但太花费时间了,这时就可以利用DHCP来完成。
以LINUX/debian为例,首先利用下面的方法安装dhcp。
Apt-get install dhcp
然后剩下的就是配置DHCP了,DHCP主配置文件存放在/etc/dhcp.conf中,在这个文件中,主要配置域名DNS、客户机IP地址范围、网关、租期时间等。
配置完成以后,就得重启DHCP服务器,重启得注意下面的问题:
1) 如果主机只有一张网卡(即eth0),则可以采用/etc/init.d/dhcp restart重启。然后客户机就可自动获得IP信息。
2) 如果主机有两张或以上的网卡,则须指定从连接局域网内部的网卡进行启动。假设,网卡1(eth0)是连接因特网的,而网卡2(eth1)是连接局域网内部,则须采用/usr/sbin/dhcp restart进行重启。
以上是让客户机自动的获取IP信息了,然剩下的就是客户机能访问因特网。在LINUX我可以用iptables作为路由,带动局域内外客户机上网。Iptables安装与dhcp一致,若只是做简单的控制,iptables不需要作任何配置。则直接用iptables带动客户机上网吧。
准备工作:在应用iptables前,先确认有echo “1”>/proc/sys/net/ip_forward,这句是开启内核转发功能。
方法1:
/sbin/iptables –t nat –A POSTROUTING –o ppp0 –j MASQUERADE
上面是采用ppp方式上网,如果局域网采用固定的IP地址,假设IP为222.33.44.55(即出口网卡eth0的地址,下面均是这样),则就要用下面的方法:
/sbin/iptables –t nat –A POSTROUTING –o eth0 –j SNAT –to 222.33.44.55
方法2:利用shell结合iptables
文件内容:
A:动态方式
#!/bin/sh
IPTABLES=”/sbin/iptables”
IFACE=”PPP0”
$IPTABLES –t nat –A POSTROUTING –o $IFACE –j MASQUERADE
B:静态方式:
#!/bin/sh
IPTABLES=”/sbin/iptables”
IFACE=”eth0”
$OUT_IP=”222.33.44.55”
$IPTABLES –t nat –A POSTROUTING –o $IFACE –j SNAT –to $OUT_IP
方法3:可以更人性化一点(静态方式)
#!/bin/sh
IPTABLES=”/sbin/iptables”
Echo “请输入出口的接口”
Read IFACE
Echo “请输入出口的地址”
Read OUT_IP
$IPTABLES –t nat –A POSTROUTING –o $IFACE –j SNAT –to $OUT_IP
对方法3还可以进行更多的优化,比如直接列出出口的名称进行选择,也可以对输入的接口数据进行判断等。这里我不就在举例,如果你熟悉shell,这一切都可以改变的。
以上的内容写得较为粗糙,如果有什么不对或是有问题的地方,请指正为谢!仅供参考。