您好,登錄后才能下訂單哦!
原先公司辦公網(wǎng)絡(luò)與無(wú)線網(wǎng)絡(luò)沒有做物理隔離,所以在物理上面還不是很安全,后來(lái)公司網(wǎng)絡(luò)整改,雖然起到物理隔離,但做的并不完善,只是用了個(gè)小米路由器設(shè)置,并做了dhcp,后來(lái)訪客加上公司員工手機(jī)一起上網(wǎng),使的負(fù)載很高,甚至一大部分人都無(wú)法獲取ip,于是有了本人的搭建的服務(wù)。
本人用的是一臺(tái)dell380機(jī)器,配置的要求不高,簡(jiǎn)單的兩塊網(wǎng)卡,eth0做外網(wǎng),eth2做內(nèi)網(wǎng)
eth0:192.168.1.1
eth2:192.168.100.1
配置如下:
首先安裝dhcp
yum install dhcp -y
編輯dhcp配置文件/etc/dhcp/dhcpd.conf ,也可以使用/usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample拷貝到/etc/dhcp/dhcpd.conf
配置文件如下:
ddns-update-style interim; #配置使用過渡性 DHCP-DNS互動(dòng)更新模式。
ignore client-updates; #忽略客戶端更新
subnet 192.168.100.0 netmask 255.255.254.0 {
option routers 192.168.100.1; #路由器地址
option subnet-mask 255.255.254.0; #子網(wǎng)掩碼選項(xiàng)
option nis-domain "xfbaydhcp.com";
option domain-name "xfbaydhcp.com"; #域名
option domain-name-servers 192.168.0.7; #DNS地址
option time-offset -18000; # Eastern Standard Time
range dynamic-bootp 192.168.100.1 192.168.101.255; #租用IP地址>的范圍
default-lease-time 21600; #缺省租約時(shí)間
max-lease-time 43200; #最大租約時(shí)間
host myhost { #設(shè)置主機(jī)聲明
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文件
user=dhcpd
group=dhcpd
改為
user=root
group=root
4.指定網(wǎng)卡啟動(dòng)dhcp功能(不指定會(huì)報(bào)錯(cuò)的)
vim /etc/sysconfig/dhcpd
DHCPDARGS=eth2
5.設(shè)置服務(wù)開機(jī)啟動(dòng)
chkconfig dhcpd on
service dhcpd start
網(wǎng)卡ip配置的話這里就不做介紹了,后面就是檢測(cè)主機(jī)是否能自動(dòng)獲取到ip地址
下面就是配置iptables,默認(rèn)主機(jī)都是安裝過的
1.打開轉(zhuǎn)發(fā)功能
vim /etc/sysctl.conf
net.ipv4.ip_forward = 1
2.設(shè)置iptables規(guī)則
轉(zhuǎn)發(fā)
iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 192.168.1.143
設(shè)置ttl值(主要用于不允許wifi下面私自接wifi)
iptables -t mangle -A POSTROUTING -o eth0 -j TTL --ttl-set 0
關(guān)閉外網(wǎng)22端口的訪問
iptables -t nat -A INPUT -i eth0 -p tcp -m tcp --dport 22 -j DROP
其實(shí)iptables就這幾個(gè)簡(jiǎn)單的配置就可以了,如果是做其他的用途,這些當(dāng)然是不夠的了。
命令雖然很簡(jiǎn)單,但細(xì)節(jié)還是很重要和配置文件。一點(diǎn)錯(cuò)誤都會(huì)啟動(dòng)不成功。注重排查問題。
該實(shí)驗(yàn)很廣,配置稍作修改,可用途公司防火墻,可以做到ip帶寬限制,網(wǎng)站訪問控制等等。
下面是端口流量控制的腳本
#!/bin/sh
# 定義進(jìn)出設(shè)備(eth2 內(nèi)網(wǎng),eth0外網(wǎng))
IDEV="eth2"
ODEV="eth0"
#GUEST="eth3"
# 定義總的上下帶寬
UP="20mbit"
DOWN="20mbit"
# 定義每個(gè)受限制的IP上下帶寬
#rate 起始帶寬
UPLOAD="1mbit"
DOWNLOAD="1mbit"
#ceil 最大帶寬
MUPLOAD="20mbit"
MDOWNLOAD="20mbit"
#內(nèi)網(wǎng)IP段
NET="192.168."
INET="192.168.8."
# 受限IP范圍,IPS 起始IP,IPE 結(jié)束IP。
IPS="1"
IPE="255"
# 清除網(wǎng)卡原有隊(duì)列規(guī)則
tc qdisc del dev $ODEV root 2>/dev/null
tc qdisc del dev $IDEV root 2>/dev/null
# 定義最頂層(根)隊(duì)列規(guī)則,并指定 default 類別編號(hào)
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 打標(biāo)和設(shè)置具體規(guī)則
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
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。