人妖在线一区,国产日韩欧美一区二区综合在线,国产啪精品视频网站免费,欧美内射深插日本少妇

新聞動(dòng)態(tài)

Linux下針對(duì)路由功能配置iptables的方法詳解

發(fā)布日期:2022-01-30 13:18 | 文章來源:源碼之家

作為公司上網(wǎng)的路由器需要實(shí)現(xiàn)的功能有nat地址轉(zhuǎn)換、dhcp、dns緩存、流量控制、應(yīng)用程序控制,nat地址轉(zhuǎn)換通過iptables可以直 接實(shí)現(xiàn),dhcp服務(wù)需要安裝dhcpd,dns緩存功能需要使用bind,流量控制可以使用tc,應(yīng)用程序控制:例如對(duì)qq的封鎖可以使用 netfilter-layer7-v2.22+17-protocols-2009-05-28.tar.gz來實(shí)現(xiàn)
1、網(wǎng)絡(luò)規(guī)劃

操作系統(tǒng)是centos5.8

2、安裝dhcpd

復(fù)制代碼
代碼如下:

yum install dhcp-3.0.5-31.el5
vim /etc/dhcp/dhcpd.conf
ddns-update-style interim;
ignore client-updates;
subnet 10.0.0.0 netmask 255.255.255.0 {
option routers 10.0.0.1;
option subnet-mask 255.255.255.0;
option domain-name-servers 10.0.0.1;
range dynamic-bootp 10.0.0.100 10.0.0.200;
default-lease-time 21600;
max-lease-time 43200;
}

3、安裝bind,實(shí)現(xiàn)dns緩存

復(fù)制代碼
代碼如下:

yum install bind97.i386 bind97-libs.i386 bind97-utils.i386
vim /etc/named.conf
options {
directory "/var/named";
allow-recursion { 10.0.0.0/24; };
recursion yes;
forward first;#將所有請(qǐng)求都進(jìn)行轉(zhuǎn)發(fā)
forwarders { 114.114.114.114; };#定義轉(zhuǎn)發(fā)服務(wù)器地址
};
zone "." IN {
type hint;
file "named.ca";
};
zone "localhost" IN {
type master;
file "named.localhost";
allow-transfer { none; };
};
zone "0.0.127.in-addr.arpa" IN {
type master;
file "named.loopback";
allow-transfer { none; };
};

創(chuàng)建根域文件,默認(rèn)有

復(fù)制代碼
代碼如下:

dig -t NS . > /var/named/named.ca
chown :named /var/named/named.ca

創(chuàng)建本地正向解析文件,默認(rèn)有

復(fù)制代碼
代碼如下:

vim /var/named/named.localhost
$TTL 1D
@ IN SOA @ rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS @
A127.0.0.1
chown :named /var/named/named.localhost

創(chuàng)建本地反向解析文件,默認(rèn)有

復(fù)制代碼
代碼如下:

vim /var/named/named.loopback
$TTL 1D
@ IN SOA @ rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS @
A 127.0.0.1
PTRlocalhost.
chown :named /var/named/named.loopback

檢查主配置文件

復(fù)制代碼
代碼如下:

named-checkconf

檢查根區(qū)域配置文件

復(fù)制代碼
代碼如下:

named-checkzone “.” /var/named/named.ca

檢查區(qū)域文件

復(fù)制代碼
代碼如下:

named-checkzone “localhost” /var/named/named.localhost

啟動(dòng)服務(wù)

復(fù)制代碼
代碼如下:

service named start

4、重新編譯編譯內(nèi)核和iptables以支持應(yīng)用層過濾
由于實(shí)行防火墻功能的是netfilter內(nèi)核模塊,所以需要重新編譯內(nèi)核,需要下載新的內(nèi)核源碼,并使用netfilter-layer7-v2.22作為內(nèi)核的補(bǔ)丁一起編譯到內(nèi)核中。而控制netfiler的是iptables工具,因此iptables也必須重新編譯安裝,最后再安裝應(yīng)用程序過濾特征碼庫17-protocols-2009-05028.tar.gz

1、給內(nèi)核打補(bǔ)丁,并重新編譯內(nèi)核
2、給iptables源碼打補(bǔ)丁,并重新編譯iptables
3、安裝17proto

備份iptables腳本和配置文件

復(fù)制代碼
代碼如下:

cp /etc/rc.d/init.d/iptables /root/iptables.sysv
cp /etc/sysconfig/iptables-config /root/iptables-config

2.6內(nèi)核下載地址

https://www.kernel.org/pub/linux/kernel/v2.6/

netfilter下載地址

http://download.clearfoundation.com/l7-filter/

iptables源碼下載地址

http://www.netfilter.org/projects/iptables/downloads.html

應(yīng)用程序特征碼庫下載地址

http://download.clearfoundation.com/l7-filter/

復(fù)制代碼
代碼如下:

xz -d linux-2.6.28.10.tar.xz
tar -xvf linux-2.6.28.10.tar.gz -C /usr/src #新的內(nèi)核源碼,用于重新編譯
tar -zxvf netfilter-layer7-v2.22.tar.gz -C /usr/src #內(nèi)核補(bǔ)丁和iptables補(bǔ)丁 ,只支持到2.6.28
#進(jìn)入解壓目錄并創(chuàng)建軟連接</p> <p>cd /usr/src
ln -sv linux-2.6.28.10 linux
#進(jìn)入內(nèi)核目錄</p> <p>cd /usr/src/linux
#為當(dāng)前內(nèi)核打補(bǔ)丁</p> <p>patch -p1 < ../netfilter-layer7-v2.22/kernel-2.6.25-2.6.28-layer7-2.22.path
#為了方便編譯內(nèi)核將系統(tǒng)上的內(nèi)核配置文件復(fù)制過來</p> <p>cp /boot/config-2.6.18-164.el5 /usr/src/linux/.config

編譯內(nèi)核

復(fù)制代碼
代碼如下:

make menuconfig
Networking support -> Networking Options -> Network packet filtering framework -> Core Netfilter Configuration
<M> Netfilter connection tracking support
<M> "lawyer7" match support
<M> "string" match support
<M> "time" match support
<M> "iprange" match support
<M> "connlimit" match support
<M> "state" match support
<M> "conntrack" connection match support
<M> "mac" address match support
<M> "multiport" Multiple port match support
Networking support -> Networign options -> Network packet filtering framework -> IP:Netfiltr Configuration
<M> IPv4 connection tracking support (required for NAT)
<M> Full NAT
<M> MASQUERADE target support
<M> NETMAP target support
<M> REDIRECT target support

在Networking support中選擇 Networking options

查找Network packet filtering framework(Netfilter)–>Core Netfiler Configrationg–>Netfilter connection tracking support(NEW),”layer7″ match support(NEW),”time” match support(NEW),”iprange”

查找IP:Netfilter Configuration–>IPv4 connection tracking support,Full NAT(NEW)

復(fù)制代碼
代碼如下:

make
make modules_install
make install

重啟操作系統(tǒng)選擇新內(nèi)核登錄

卸載舊的iptables

復(fù)制代碼
代碼如下:

rpm -e iptables-1.3.5-9.1.el5 iptables-ipv6-1.3.5-9.1.el5 iptstate-1.4-2.el5 --nodeps

安裝新的iptables,以支持新的netfiler模塊

復(fù)制代碼
代碼如下:

tar -jsvf iptables-1.4.6.tar.bz2 -C /usr/src
cd /usr/src/netfilter-layer7-v2.23
cd iptables-1.4.3forward-for-kernel-2.6.20forward
cp * /usr/src/iptables-1.4.6/extensions/
cd /usr/src/iptables-1.4.6/
./configure --prefix=/usr --with-ksource=/usr/src/linux
make
make install

查看安裝后的iptables的文件

復(fù)制代碼
代碼如下:

ls /usr/sbin |grep iptables
ls /usr/libexec/xtables

復(fù)制之前備份的配置文件和腳本

復(fù)制代碼
代碼如下:

cp /root/iptables-config /etc/sysconfig/
cp /root/iptables.sysv /etc/rc.d/init.d/iptables

修改腳本中iptables的路徑

復(fù)制代碼
代碼如下:

vim /etc/rc.d/init.d/iptables
:.,$s@/sbin/$IPTABLES@/usr/sbin/$IPTABLES@g

讓iptables服務(wù)開機(jī)自動(dòng)啟動(dòng)

復(fù)制代碼
代碼如下:

chkconfig --add iptables

修改iptables 配置文件
將/etc/sysconfig/iptables-config中的
IPTABLES_MODULES=”ip_conntrack_netbios_ns” 注釋掉

安裝協(xié)議特征碼

復(fù)制代碼
代碼如下:

tar xvf 17-protocols-2009-05028.tar.gz
make install

完成后在/etc/l7-protocols會(huì)生成文件
支持的協(xié)議/etc/l7-protocols/protocols

添加iptables策略,運(yùn)行內(nèi)部網(wǎng)絡(luò)上網(wǎng),禁止qq和視頻

復(fù)制代碼
代碼如下:

iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -j SNAT --to-soure 192.168.6.67
iptables -A FORWARD -m layer7 --l7proto qq -j DROP
iptables -A FORWARD -m layer7 --l7proto httpvideo -j DROP
iptables -A FORWARD -m layer7 --l7proto httpaudio -j DROP

指定8點(diǎn)到12點(diǎn)無法上網(wǎng)

復(fù)制代碼
代碼如下:

iptables -A FORWARD -m time --timestart 08:00 --timestop 12:00 -j DROP

5、使用tc控制帶寬
例如公司出口帶寬是10Mbps,個(gè)用戶A分配500KB的最大下載帶寬,給用戶B 分配分配的最大下載帶寬是200KB
A用戶ip:10.0.0.100
B用戶ip:10.0.0.101

復(fù)制代碼
代碼如下:

#在eth0網(wǎng)卡上創(chuàng)建一個(gè)根隊(duì)列規(guī)則,隊(duì)列規(guī)則的算法使用htb,default 2表示指定一個(gè)默認(rèn)類別編號(hào),默認(rèn)的流量控制策略,如果ip沒有在后面的filter中被匹配到就都是有這個(gè)策略
tc qdisc add dev eth0 root handle 1:0 htb default 2
#在eth0網(wǎng)卡上定義一個(gè)類,prant 1:0中的1對(duì)應(yīng)根隊(duì)列規(guī)則中的handle 1:0,classid 1:2表示當(dāng)前這個(gè)類的標(biāo)識(shí),用于應(yīng)用在后面的得到filter中,rate 200kbsp表示帶寬為200KB/s,ceil 200kbps表示最大帶寬也為200KB/s,prio 2是優(yōu)先級(jí)
tc class add dev eth0 parent 1:0 classid 1:2 htb rate 200kbps ceil 200kbps prio 2
tc class add dev eth0 parent 1:0 classid 1:3 htb rate 500kbps ceil 500kbps prio 2
#將兩個(gè)類的默認(rèn)的fifq隊(duì)列規(guī)則改為sfq
tc qdisc add dev eth0 parent 1:2 handle 20 sfq
tc qdisc add dev eth0 parent 1:3 handle 30 sfq
#在網(wǎng)卡eth0上的1:0節(jié)點(diǎn)(對(duì)應(yīng)qdisc中的handle 1:0)添加一個(gè)u32過濾規(guī)則,優(yōu)先級(jí)為1,凡是目標(biāo)地址是10.0.0.100的數(shù)據(jù)包都使用1:2類(對(duì)應(yīng)classid為1:2的類)
tc filter add dev eth0 parent 1:0 protocol ip prio 1 u32 match ip dst 10.0.0.100 flowid 1:2
tc filter add dev eth0 parent 1:0 protocol ip prio 1 u32 match ip dst 10.0.0.101 flowid 1:3

如果還有其他用戶例如用戶C和D的ip是102、103,要求的下載帶寬也要求500那么在加入

復(fù)制代碼
代碼如下:

tc filter add dev eth0 parent 1:0 protocol ip prio 1 u32 match ip dst 10.0.0.102 flowid 1:3
tc filter add dev eth0 parent 1:0 protocol ip prio 1 u32 match ip dst 10.0.0.103 flowid 1:3

清除eth0上的規(guī)則

復(fù)制代碼
代碼如下:

tc qdisc del dev eth1 root> /dev/null

國外服務(wù)器租用

版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。

實(shí)時(shí)開通

自選配置、實(shí)時(shí)開通

免備案

全球線路精選!

全天候客戶服務(wù)

7x24全年不間斷在線

專屬顧問服務(wù)

1對(duì)1客戶咨詢顧問

在線
客服

在線客服:7*24小時(shí)在線

客服
熱線

400-630-3752
7*24小時(shí)客服服務(wù)熱線

關(guān)注
微信

關(guān)注官方微信
頂部