谈linux中配置和使用DHCP

谈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,这一切都可以改变的。

以上的内容写得较为粗糙,如果有什么不对或是有问题的地方,请指正为谢!仅供参考。
多谢楼主,正在学习这些阿