Iptables和代理服务器联合操控拜访的装备51CTO博客 - 乐橙lc8

Iptables和代理服务器联合操控拜访的装备51CTO博客

2019年04月02日09时57分59秒 | 作者: 起运 | 标签: 拜访,装备,服务器 | 浏览: 2689

1.体系内核和iptables的编译

I、体系环境:RHEL5 [ 2.6.18-8.el5xen ]

软件环境:
http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.25.19.tar.bz2
http://www.netfilter.org/projects/iptables/files/iptables-1.4.2.tar.bz2

http://ie.archive.ubuntu.com/sourceforge/l/l7/l7-filter/netfilter-layer7-v2.20.tar.gz
http://ie.archive.ubuntu.com/sourceforge/l/l7/l7-filter/l7-protocols-2008-10-04.tar.gz

方针功用:
为iptables增加layer7补丁,完成应用层过滤。

II、从头编译内核

①、兼并kernel+layer7补丁

shell> tar jxvf linux-2.6.25.19.tar.gz2 -C /usr/src/
shell> tar zxvf netfilter-layer7-v2.20.tar.gz -C /usr/src/

shell> cd /usr/src/linux-2.6.25.19/
shell&gt; patch -p1 < /usr/src/netfilter-layer7-v2.20/kernel-2.6.25-layer7-2.20.patch

②、装备新内核

shell> cp /boot/config-2.6.18-8.el5 .config    //偷个懒,沿用旧的内核装备
shell&gt; make menuconfig

    //装备内核时,在“Networking -&gt; Networking Options -&gt; Network Packet filtering framework (Netfilter) ”处首要留意两个当地:
    1) -&gt; Core Netfilter Configuration
        //将“Netfilter connection tracking suport (NEW)”挑选编译为模块(M),需选取此项才干看到layer7支撑的装备。
        //将layer7、string、state、time、IPsec、iprange、connlimit……等编译成模块,根据需求看着办。

    2) -&gt; IP: Netfilter Configuration
        //将“IPv4 connection tracking support (require for NAT)”编译成模块。
        //将“Full NAT”下的“MASQUERADE target support”和“REDIRECT target support”编译成模块。

    3) 编译及装置模块、新内核

shell&gt; make && make modules_install && make install

        //编译装置成后后,重启挑选运用新的内核(2.6.25.19)引导体系

III、从头编译iptables

①、卸载现有iptables

shell&gt; rpm -e iptables iptstat nodeps

②、兼并iptables+layer7补丁

shell&gt; tar jxvf iptables-1.4.2.tar.bz2 -C /usr/src/
shell&gt; cd /usr/src/netfilter-layer7-v2.20/iptables-1.4.1.1-for-kernel-2.6.20forward/
shell&gt; cp libxt_layer7.c libxt_layer7.man /usr/src/iptables-1.4.2/extensions/

③、编译装置

shell&gt; cd /usr/src/iptables-1.4.2/

shell&gt; ./configure prefix=/ with-ksource=/usr/src/linux-2.6.25.19
shell&gt; make && make install

④、装置l7-protocols形式包

shell&gt; tar zxvf l7-protocols-2008-10-04.tar.gz -C /etc/
shell&gt; mv /etc/l7-protocols-2008-10-04 /etc/l7-protocols

2.Iptables战略和代理服务器的装备

//以下装备答应本地计算机经过终端ssh到Linux服务器上

[root@mail ~]# iptables -t filter -A INPUT -s 192.168.101.118 -p tcp dport 22 -m state state NEW,ESTABLISHED -j ACCEPT

[root@mail ~]# iptables -t filter -A OUTPUT -d 192.168.101.118 -p tcp sport 22 -m state state ESTABLISHED -j ACCEPT

[root@mail ~]# iptables -P INPUT DROP

[root@mail ~]# iptables -P OUTPUT DROP

[root@mail ~]# iptables -P FORWARD DROP

//这两条装备答应Linux服务器上lo端口进行通讯

[root@mail ~]# iptables -t filter -A INPUT -i lo -j ACCEPT

[root@mail ~]# iptables -t filter -A OUTPUT -o lo -j ACCEPT

//内部用户(包含软件部和司理办)在上班时间能够经过http拜访外部网络

[root@mail ~]# vim /etc/squid/squid.conf

 

 

 

 

 

 

[root@mail ~]# vim /etc/sysctl.conf

[root@mail ~]# vim /etc/resolv.conf

[root@mail ~]# iptables -t nat -A PREROUTING -m iprange src-range 192.168.2.21-192.168.2.40 -m time timestart 08:00 timestop 20:00 -p tcp dport 80 -j REDIRECT to-ports 3128

[root@mail ~]# iptables -t filter -A INPUT -p tcp dport 3128 -j ACCEPT

[root@mail ~]# iptables -t filter -A OUTPUT -m state state ESTABLISHED,RELATED -j ACCEPT

[root@mail ~]# iptables -t filter -A OUTPUT -p tcp dport 80 -j ACCEPT

[root@mail ~]# iptables -t filter -A OUTPUT -p udp dport 53 -j ACCEPT

[root@mail ~]# iptables -t filter -A INPUT -m state state ESTABLISHED,RELATED -j ACCEPT

[root@mail ~]# iptables -t filter -A FORWARD -m iprange src-range 192.168.2.21-192.168.2.40 -m time timestart 08:00 timestop 20:00 -p udp dport 53 -o eth0 -j ACCEPT

[root@mail ~]# iptables -t filter -A FORWARD -m state state ESTABLISHED,RELATED -j ACCEPT

[root@mail ~]# iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -p udp dport 53 -o eth0 -j MASQUERADE

[root@mail ~]# iptables -t filter -A FORWARD -m iprange src-range 192.168.2.21-192.168.2.40 -m time timestart 08:00 timestop 20:00 -p udp dport 53 -o eth0 -j ACCEPT

//测验

//软件部和司理办用户在上班时间的拜访战略

[root@mail ~]# vim /etc/squid/squid.conf

590 acl ruanjianbu src 192.168.2.21-192.168.2.30/255.255.255.255

591 acl worktime time 08:00-20:00

592 acl badsite url_regex -i sina

593 acl badcont urlpath_regex -i \.gif$ \.jpg$

594 acl conn maxconn 5

595 acl jingliban src 192.168.2.31-192.168.2.40/255.255.255.255

596 http_access deny ruanjianbu worktime badsite

597 http_access deny ruanjianbu worktime badcont

598 http_access deny ruanjianbu worktime conn

599 http_access allow jingliban //以上几条都是需求增加的拜访战略

[root@mail ~]# iptables -t filter -I FORWARD 2 -m iprange src-range 192.168.2.21-192.168.2.30 -m time timestart 08:00 timestop 20:00 -m layer7 l7proto xunlei -j DROP

[root@mail ~]# iptables -t filter -I FORWARD 2 -m iprange src-range 192.168.2.21-192.168.2.30 -m time timestart 08:00 timestop 20:00 -m layer7 l7proto qq -j DROP

[root@mail ~]# iptables -t filter -I FORWARD 2 -m iprange src-range 192.168.2.31-192.168.2.40 -m time timestart 08:00 timestop 20:00 -m layer7 l7proto qq -j ACCEPT

//测验

1. 软件部上班时间不能阅读图片

2. 软件部上班时间不能拜访带有sina的站点

3. 软件部上班时间http拜访的链接数约束

//工程部上班时间的拜访战略

[root@mail ~]# iptables -t nat -A POSTROUTING -m iprange src-range 192.168.2.10-192.168.2.20 -m time timestart 08:00 timestop 20:00 -p tcp dport 21 -j MASQUERADE

[root@mail ~]# iptables -t filter -A FORWARD -m iprange src-range 192.168.2.10-192.168.2.20 -m time timestart 08:00 timestop 20:00 -p tcp dport 21 -j ACCEPT

[root@mail ~]# modprobe ip_nat_ftp

//测验

//一切用户下班今后的http拜访战略以及长途服务器操控战略

[root@mail ~]# iptables -t filter -A FORWARD -s 192.168.2.0/24 -m time timestart 20:01 timestop 23:59 -j ACCEPT

[root@mail ~]# iptables -t filter -A FORWARD -s 192.168.2.0/24 -m time timestart 00:01 timestop 07:59 -j ACCEPT

[root@mail ~]# date

Sun Oct 9 16:48:02 CST 2011

[root@mail ~]# iptables -t nat -A PREROUTING -m time timestart 20:01 timestop 23:59 -p tcp dport 80 -j REDIRECT to-ports 3128

[root@mail ~]# iptables -t nat -A PREROUTING -m time timestart 00:01 timestop 07:59 -p tcp dport 80 -j REDIRECT to-ports 3128

[root@mail ~]# iptables -t nat -A POSTROUTING -m time timestart 20:01 timestop 23:59 -o eth0 -j MASQUERADE

[root@mail ~]# iptables -t nat -A POSTROUTING -m time timestart 00:01 timestop 07:59 -o eth0 -j MASQUERADE

[root@mail ~]# date

Sun Oct 9 21:07:15 CST 2011

[root@mail ~]# iptables -t nat -A PREROUTING -d 192.168.101.181 -p tcp dport 3389 -j DNAT to 192.168.3.10

[root@mail ~]# iptables -t filter -A FORWARD -d 192.168.3.10 -p tcp dport 3389 -j ACCEPT

//测验

1. 工程部下班后的拜访

2. 软件部下班后的拜访

3. 内部用户telnet外部FTP服务器

4. 外部用户长途登录操控服务器(dmz区域)

版权声明
本文来源于网络,版权归原作者所有,其内容与观点不代表乐橙lc8立场。转载文章仅为传播更有价值的信息,如采编人员采编有误或者版权原因,请与我们联系,我们核实后立即修改或删除。

猜您喜欢的文章