重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

centos6.5搭建dhcp+网关

原先公司办公网络与无线网络没有做物理隔离,所以在物理上面还不是很安全,后来公司网络整改,虽然起到物理隔离,但做的并不完善,只是用了个小米路由器设置,并做了dhcp,后来访客加上公司员工手机一起上网,使的负载很高,甚至一大部分人都无法获取ip,于是有了本人的搭建的服务。

创新互联服务项目包括通渭网站建设、通渭网站制作、通渭网页制作以及通渭网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,通渭网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到通渭省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!

本人用的是一台dell380机器,配置的要求不高,简单的两块网卡,eth0做外网,eth2做内网

eth0:192.168.1.1

eth2:192.168.100.1

配置如下:

  1. 首先安装dhcp

    yum install dhcp -y

  2. 编辑dhcp配置文件/etc/dhcp/dhcpd.conf ,也可以使用/usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample拷贝到/etc/dhcp/dhcpd.conf

配置文件如下:

  1. dDNS-update-style interim;     #配置使用过渡性 DHCP-DNS互动更新模式。

  2. ignore client-updates;         #忽略客户端更新

  3. subnet 192.168.100.0 netmask 255.255.254.0 {

  4.         option routers                  192.168.100.1;        #路由器地址

  5.         option subnet-mask              255.255.254.0;      #子网掩码选项

  6.         option nis-domain               "xfbaydhcp.com";

  7.         option domain-name              "xfbaydhcp.com";     #域名

  8.         option domain-name-servers      192.168.0.7;       #DNS地址

  9.         option time-offset              -18000; # Eastern Standard Time

  10.         range dynamic-bootp 192.168.100.1 192.168.101.255;       #租用IP地址>的范围

  11.         default-lease-time 21600;    #缺省租约时间

  12.         max-lease-time 43200;        #最大租约时间

        host myhost {                                      #设置主机声明  

        hardware ethernet 08:00:27:2C:30:8C;             #指定dhcp客户的mac地址            fixed-address 192.168.100.155;                   #给指定的mac地址分配ip                               }    }

3、编辑/etc/rc.d/init.d/dhcpd文件

  1. user=dhcpd  

  2. group=dhcpd   

  3. 改为   

  4. user=root  

  5. group=root  

4.指定网卡启动dhcp功能(不指定会报错的)

vim /etc/sysconfig/dhcpd

DHCPDARGS=eth2

5.设置服务开机启动

chkconfig dhcpd on

service dhcpd start

网卡ip配置的话这里就不做介绍了,后面就是检测主机是否能自动获取到ip地址

下面就是配置iptables,默认主机都是安装过的

1.打开转发功能

vim /etc/sysctl.conf

net.ipv4.ip_forward = 1

2.设置iptables规则

转发

iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 192.168.1.143

设置ttl值(主要用于不允许wifi下面私自接wifi)

iptables -t mangle -A POSTROUTING -o eth0 -j TTL --ttl-set 0

关闭外网22端口的访问

iptables -t nat -A INPUT -i eth0 -p tcp -m tcp --dport 22 -j DROP

其实iptables就这几个简单的配置就可以了,如果是做其他的用途,这些当然是不够的了。

命令虽然很简单,但细节还是很重要和配置文件。一点错误都会启动不成功。注重排查问题。

该实验很广,配置稍作修改,可用途公司防火墙,可以做到ip带宽限制,网站访问控制等等。

下面是端口流量控制的脚本

#!/bin/sh

 

#  定义进出设备(eth2 内网,eth0外网)

IDEV="eth2"

ODEV="eth0"

#GUEST="eth3"

 

#  定义总的上下带宽

UP="20mbit"

DOWN="20mbit"

 

#  定义每个受限制的IP上下带宽

#rate 起始带宽

UPLOAD="1mbit"

DOWNLOAD="1mbit"

#ceil 最大带宽

MUPLOAD="20mbit"

MDOWNLOAD="20mbit"

 

#内网IP段

NET="192.168."

INET="192.168.8."

# 受限IP范围,IPS 起始IP,IPE 结束IP。

IPS="1" 

IPE="255"

# 清除网卡原有队列规则

tc qdisc del dev $ODEV root 2>/dev/null

tc qdisc del dev $IDEV root 2>/dev/null

 

# 定义最顶层(根)队列规则,并指定 default 类别编号

tc qdisc add dev $ODEV root handle 1: htb default 4000

tc qdisc add dev $IDEV root handle 2: htb default 4000

# 定义第一层的 10:1 类别 (上行/下行 总带宽)

tc class add dev $ODEV parent 1: classid 1:1 htb rate $UP ceil $UP

tc class add dev $IDEV parent 2: classid 2:1 htb rate $DOWN ceil $DOWN

tc class add dev eth0 parent 1:1 classid 1:4000 htb rate 10mbit ceil 10mbit  prio 2

tc class add dev eth2 parent 2:1 classid 2:4000 htb rate 10mbit ceil 10mbit  prio 2

#开始iptables 打标和设置具体规则

j="8"; 

i=$IPS;

while [ $i -le $IPE ]

do

tc class add dev eth0 parent 1:1 classid 1:$i$j htb rate 2mbit ceil 2mbit  prio 1

tc filter add dev eth0  parent 1: protocol ip prio 1 handle $i$j fw classid 1:$i$j

tc class add dev eth2 parent 2:1 classid 2:$i$j htb rate 4mbit ceil 4mbit  prio 1

tc filter add dev eth2  parent 2: protocol ip prio 1 handle $i$j fw classid 2:$i$j

iptables -t mangle -A PREROUTING -s $NET$j\.$i -j MARK --set-mark $i$j

iptables -t mangle -A PREROUTING -s $NET$j\.$i -j RETURN

iptables -t mangle -A POSTROUTING -d $NET$j\.$i -j MARK --set-mark $i$j

iptables -t mangle -A POSTROUTING -d $NET$j\.$i -j RETURN

i=`expr $i + 1`

done

j="9";

i=$IPS;

while [ $i -le $IPE ]

do

tc class add dev eth0 parent 1:1 classid 1:$i$j htb rate 2mbit ceil 2mbit  prio 1

tc filter add dev eth0  parent 1: protocol ip prio 1 handle $i$j fw classid 1:$i$j

tc class add dev eth2 parent 2:1 classid 2:$i$j htb rate 4mbit ceil 4mbit  prio 1

tc filter add dev eth2  parent 2: protocol ip prio 1 handle $i$j fw classid 2:$i$j

iptables -t mangle -A PREROUTING -s $NET$j\.$i -j MARK --set-mark $i$j

iptables -t mangle -A PREROUTING -s $NET$j\.$i -j RETURN

iptables -t mangle -A POSTROUTING -d $NET$j\.$i -j MARK --set-mark $i$j

iptables -t mangle -A POSTROUTING -d $NET$j\.$i -j RETURN

i=`expr $i + 1`

done


分享文章:centos6.5搭建dhcp+网关
链接分享:http://cqcxhl.cn/article/gihpgh.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP