91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Linux下iptables的配置方法介紹

發布時間:2021-08-06 09:25:34 來源:億速云 閱讀:141 作者:chen 欄目:系統運維

本篇內容主要講解“Linux下iptables的配置方法介紹”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Linux下iptables的配置方法介紹”吧!

作為公司上網的路由器需要實現的功能有nat地址轉換、dhcp、dns緩存、流量控制、應用程序控制,nat地址轉換通過iptables可以直 接實現,dhcp服務需要安裝dhcpd,dns緩存功能需要使用bind,流量控制可以使用tc,應用程序控制:例如對qq的封鎖可以使用 netfilter-layer7-v2.22+17-protocols-2009-05-28.tar.gz來實現
1、網絡規劃
Linux下iptables的配置方法介紹

操作系統是centos5.8
 
2、安裝dhcpd

代碼如下:


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;
}


Linux下iptables的配置方法介紹

3、安裝bind,實現dns緩存

代碼如下:


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;                     #將所有請求都進行轉發
forwarders { 114.114.114.114; };   #定義轉發服務器地址
};
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; };
};


創建根域文件,默認有

代碼如下:


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


創建本地正向解析文件,默認有

代碼如下:


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


創建本地反向解析文件,默認有

代碼如下:


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
PTR   localhost.
chown :named /var/named/named.loopback


檢查主配置文件

代碼如下:


named-checkconf


檢查根區域配置文件

代碼如下:


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


檢查區域文件

代碼如下:


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


啟動服務

代碼如下:


service named start

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

1、給內核打補丁,并重新編譯內核
2、給iptables源碼打補丁,并重新編譯iptables
3、安裝17proto

備份iptables腳本和配置文件

代碼如下:


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


2.6內核下載地址

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

應用程序特征碼庫下載地址

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

代碼如下:


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


編譯內核

代碼如下:


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)&ndash;>Core Netfiler Configrationg&ndash;>Netfilter connection tracking support(NEW),”layer7&Prime; match support(NEW),”time” match support(NEW),”iprange”

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

代碼如下:


make
make modules_install
make install


重啟操作系統選擇新內核登錄

卸載舊的iptables

代碼如下:


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模塊

代碼如下:


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的文件

代碼如下:


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


復制之前備份的配置文件和腳本

代碼如下:


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


修改腳本中iptables的路徑

代碼如下:


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


讓iptables服務開機自動啟動

代碼如下:


chkconfig --add iptables


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

安裝協議特征碼

代碼如下:


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


完成后在/etc/l7-protocols會生成文件
支持的協議/etc/l7-protocols/protocols

添加iptables策略,運行內部網絡上網,禁止qq和視頻

代碼如下:


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點到12點無法上網

代碼如下:


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

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

代碼如下:


#在eth0網卡上創建一個根隊列規則,隊列規則的算法使用htb,default 2表示指定一個默認類別編號,默認的流量控制策略,如果ip沒有在后面的filter中被匹配到就都是有這個策略
tc qdisc add dev eth0 root handle 1:0 htb default 2
#在eth0網卡上定義一個類,prant 1:0中的1對應根隊列規則中的handle 1:0,classid 1:2表示當前這個類的標識,用于應用在后面的得到filter中,rate 200kbsp表示帶寬為200KB/s,ceil 200kbps表示最大帶寬也為200KB/s,prio 2是優先級
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
#將兩個類的默認的fifq隊列規則改為sfq
tc qdisc add dev eth0 parent 1:2 handle 20 sfq
tc qdisc add dev eth0 parent 1:3 handle 30 sfq
#在網卡eth0上的1:0節點(對應qdisc中的handle 1:0)添加一個u32過濾規則,優先級為1,凡是目標地址是10.0.0.100的數據包都使用1:2類(對應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那么在加入

代碼如下:


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上的規則

代碼如下:


tc qdisc del dev eth2 root> /dev/null

到此,相信大家對“Linux下iptables的配置方法介紹”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

油尖旺区| 福建省| 鹿泉市| 东乌| 迭部县| 青铜峡市| 论坛| 道真| 札达县| 宜川县| 罗山县| 厦门市| 布尔津县| 新化县| 克什克腾旗| 靖西县| 石柱| 威信县| 京山县| 宜君县| 嘉义市| 锡林浩特市| 孝昌县| 哈密市| 当涂县| 天长市| 无为县| 土默特右旗| 邹平县| 公主岭市| 肇东市| 会昌县| 周宁县| 宾阳县| 会同县| 苍山县| 颍上县| 宁蒗| 高青县| 汉沽区| 商丘市|