千家信息网

编译安装新版本iptables

发表于:2024-11-20 作者:千家信息网编辑
千家信息网最后更新 2024年11月20日,编译安装新版本iptables备份原iptables比较重要的一些文件[root@mail ~]# cp /etc/init.d/iptables /root/[root@mail ~]# cp /e
千家信息网最后更新 2024年11月20日编译安装新版本iptables

编译安装新版本iptables
备份原iptables比较重要的一些文件
[root@mail ~]# cp /etc/init.d/iptables /root/
[root@mail ~]# cp /etc/sysconfig/iptables-config /root/
卸载原iptables
[root@mail ~]# service iptables stop
[root@mail ~]# chkconfig iptables off
[root@mail ~]# rpm -e iptables-ipv6 iptables iptstate --nodeps
warning: /etc/sysconfig/iptables-config saved as /etc/sysconfig/iptables-config.rpmsave
安装iptables.1.4.6
[root@mail src]# tar -jxvf iptables-1.4.6.tar.bz2
[root@mail iptables-1.4.6]# cp /usr/local/src/netfilter-layer7-v2.22/iptables-1.4.3forward-for-kernel-2.6.20forward/libxt_layer7. /usr/local/src/iptables-1.4.6/extensions/
这里后者路径指定为你的linux内核源码路径
[root@mail iptables-1.4.6]# ./configure --prefix=/usr --with-ksource=/usr/local/src/linux
[root@mail iptables-1.4.6]# make
[root@mail iptables-1.4.6]# make install
修改iptables服务脚本局部代码:
if [ ! -x /usr/sbin/$IPTABLES ]; then
echo -n "/usr/sbin/ "/usr/sbin/"/usr/sbin/IPTABLES does not exist."; warning; echo
exit 0
然后复制修改后脚本与另外一个配置文件并重新将iptables添加到系统服务
[root@mail iptables-1.4.6]# cp /root/iptables /etc/init.d/
[root@mail iptables-1.4.6]# cp /root/iptables-config /etc/sysconfig/
[root@mail iptables-1.4.6]# chkconfig --add iptables
安装基于协议过滤的扩展
[root@mail src]# tar -zxvf l7-protocols-2009-05-28.tar.gz
[root@mail l7-protocols-2009-05-28]# make install
mkdir -p /etc/l7-protocols
cp -R
/etc/l7-protocols
[root@mail l7-protocols-2009-05-28]# service iptables restart
代理上网
现有如下3个设备
linux redhat设备A:
网卡1桥接,ip地址192.168.1.11
网卡2仅主机,ip地址192.168.128.130
linux redhat设备B(可上网):
网卡桥接,ip地址192.168.1.7,默认网关192.168.1.1(可上网的网关)
/etc/resolv.conf中的nameserver值也是192.168.1.1
windowsxp设备C
网卡仅主机,ip地址192.168.128.131,默认网关192.168.128.130
现在要求设备c可以让设备b给其代理使其可以上网。
首先让c设备可以ping通b设备:
在a设备上添加一条iptables的nat规则:
[root@mail l7-protocols-2009-05-28]# iptables -t nat -A POSTROUTING -s 192.168.128.0/24 -j SNAT --to-source 192.168.1.11
由于设备a的ip_forward是开启状态,所以此时设备c已经能够ping通设备b了。
然后让设备c也可以上网
设备c此时只需要将dns地址也该为和设备b的dns地址就可以上网了。
限制qq登录
在设备a上添加如下规则
[root@mail l7-protocols-2009-05-28]# iptables -A FORWARD -s 192.168.128.0/24 -m layer7 --l7proto qq -j REJECT
接下来登录qq就会提示如下:

若之前已经登录qq则该限制无效,只能等用户下线重新登录的时候才会生效。

0