linux命令:编译安装iptables

简介:

如何编译安装iptables实例:

先卸载系统已经安装的iptables,卸载前需备份三个文档:iptables启动脚本,iptables-config配置文档,以及已经建立好的iptables规则文档

[root@johntest ~]# cp /etc/init.d/iptables ~/iptables  #复制iptables启动脚本

[root@johntest ~]# cp /etc/sysconfig/iptables-config  ~/  #复制iptables配置文档

[root@johntest ~]# cp /etc/sysconfig/iptables ~/iptables.rules#复制已建立的iptables规则文档


[root@johntest ~]# service iptables stop  #停止iptables服务

清除防火墙规则:                                        [确定]

把 chains 设置为 ACCEPT 策略:filter                           [确定]

正在卸载 Iiptables 模块:                                  [确定]

[root@johntest ~]# chkconfig iptables off  #关闭开机自启动iptables

[root@johntest ~]# rpm -e iptables-ipv6 iptables iptstate --nodeps  #卸载iptables相关包

至少需卸载上述三个包,--nodeps强制卸载忽略依赖关系。

warning: /etc/sysconfig/iptables-config saved as /etc/sysconfig/iptables-config.rpmsave


[root@johntest ~]#  ls  #查看下载的iptables源码包和netfilter包

dev   ip_forwarz~    mbox    utility   etc    iptables     proc 

winmail.dat   init   iptables-1.4.6.tar.bz2  readme  netfilter-layer7-v2.23.tar.gz

[root@johntest ~]# tar jxvf iptables-1.4.6.tar.bz2 -C /usr/src  #解压包到指定路径/usr/src

[root@johntest ~]# tar zxvf netfilter-layer7-v2.23.tar.gz -C /usr/src #解压包到指定路径/usr/src   -C指定加压缩路径

[root@johntest ~]# cd /usr/src/

[root@johntest src]# pwd

/usr/src

[root@johntest src]# ls

iptables-1.4.6  kernels  linux-2.6.38  netfilter-layer7-v2.23  redhat

[root@johntest src]# cp netfilter-layer7-v2.23/iptables-1.4.3forward-for-kernel-2.6.20forward/libxt_layer7.* iptables-1.4.6/extensions/ #把netfilt目录中libxt_1ayer7.*所有文件复制到iptables中的extensions目录中

[root@johntest src]# ln -s linux-2.6.38 linux #生成软链接为linux

[root@johntest src]# ls

iptables-1.4.6  kernels  linux  linux-2.6.38  netfilter-layer7-v2.23  redhat

[root@johntest src]# cd iptables-1.4.6/

[root@johntest iptables-1.4.6]# pwd

/usr/src/iptables-1.4.6

[root@johntest iptables-1.4.6]# ./configure --prefix=/usr --with-ksource=/usr/src/linux  #编译--prefix指定安装路径 --with-ksource指定关联的源路径

.......

config.status: executing depfiles commands

config.status: executing libtool commands

[root@johntest iptables-1.4.6]# make

[root@johntest iptables-1.4.6]# make install

[root@johntest iptables-1.4.6]# which iptables #查看刚安装的iptables路径

/usr/sbin/iptables

[root@johntest iptables-1.4.6]# cd 

[root@johntest ~]# vim iptables  #需修改2个路径跟刚才安装的iptables一致

wKiom1jM6LazFwdSAAGP6ISRY38779.jpg

[root@johntest ~]# cp iptables /etc/init.d/

[root@johntest ~]# chkconfig --add iptables  #加入到开机启动列表中

[root@johntest ~]# chkconfig iptables on   #设置开机启动

[root@johntest ~]# cp iptables-config /etc/sysconfig/

[root@johntest ~]# service iptables start


下载l7-protocols-2009-05-28.tar.gz:

[root@johntest ~]# ls

l7-protocols-2009-05-28.tar.gz utility iptables-1.4.6.tar.bz2  readme  

 etc    iptables    netfilter-layer7-v2.23.tar.gz

[root@johntest ~]# tar xvf l7-protocols-2009-05-28.tar.gz

[root@johntest ~]# cd l7-protocols-2009-05-28

[root@johntest l7-protocols-2009-05-28]# make install  #直接编译安装

mkdir -p /etc/l7-protocols

cp -R * /etc/l7-protocols

[root@johntest l7-protocols-2009-05-28]# service iptables restart

[root@johntest l7-protocols-2009-05-28]# cd 

[root@johntest ~]# iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -j SNAT --to-source 172.16.100.7  #原地址转换成172.16.100.7

[root@johntest ~]# iptables -A FORWARD -s 192.168.10.0/24 -m layer7 --l7proto qq -j REJECT

#禁止原地址为192.168.10.0/24的主机,登录qq服务







iptables-1.4.6.tar.bz2 下载地址:

http://www.filewatcher.com/d/Gentoo/distfiles/Other/iptables-1.4.6.tar.bz2.463758.html

l7-protocols-2009-05-28.tar.gz 下载地址:

http://download.chinaunix.net/download.php?id=25732&ResourceID=5525



















本文转自wang650108151CTO博客,原文链接:http://blog.51cto.com/woyaoxuelinux/1907904 ,如需转载请自行联系原作者


相关文章
|
7天前
|
监控 Linux
如何检查 Linux 内存使用量是否耗尽?这 5 个命令堪称绝了!
本文介绍了在Linux系统中检查内存使用情况的5个常用命令:`free`、`top`、`vmstat`、`pidstat` 和 `/proc/meminfo` 文件,帮助用户准确监控内存状态,确保系统稳定运行。
65 6
|
8天前
|
Linux
在 Linux 系统中,“cd”命令用于切换当前工作目录
在 Linux 系统中,“cd”命令用于切换当前工作目录。本文详细介绍了“cd”命令的基本用法和常见技巧,包括使用“.”、“..”、“~”、绝对路径和相对路径,以及快速切换到上一次工作目录等。此外,还探讨了高级技巧,如使用通配符、结合其他命令、在脚本中使用,以及实际应用案例,帮助读者提高工作效率。
34 3
|
8天前
|
监控 安全 Linux
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景,包括 ping(测试连通性)、traceroute(跟踪路由路径)、netstat(显示网络连接信息)、nmap(网络扫描)、ifconfig 和 ip(网络接口配置)。掌握这些命令有助于高效诊断和解决网络问题,保障网络稳定运行。
26 2
|
3天前
|
运维 监控 网络协议
运维工程师日常工作中最常用的20个Linux命令,涵盖文件操作、目录管理、权限设置、系统监控等方面
本文介绍了运维工程师日常工作中最常用的20个Linux命令,涵盖文件操作、目录管理、权限设置、系统监控等方面,旨在帮助读者提高工作效率。从基本的文件查看与编辑,到高级的网络配置与安全管理,这些命令是运维工作中的必备工具。
18 3
|
8天前
|
安全 网络协议 Linux
本文详细介绍了 Linux 系统中 ping 命令的使用方法和技巧,涵盖基本用法、高级用法、实际应用案例及注意事项。
本文详细介绍了 Linux 系统中 ping 命令的使用方法和技巧,涵盖基本用法、高级用法、实际应用案例及注意事项。通过掌握 ping 命令,读者可以轻松测试网络连通性、诊断网络问题并提升网络管理能力。
29 3
|
11天前
|
Linux
在 Linux 系统中,`find` 命令是一个强大的文件查找工具
在 Linux 系统中,`find` 命令是一个强大的文件查找工具。本文详细介绍了 `find` 命令的基本语法、常用选项和具体应用示例,帮助用户快速掌握如何根据文件名、类型、大小、修改时间等条件查找文件,并展示了如何结合逻辑运算符、正则表达式和排除特定目录等高级用法。
39 6
|
12天前
|
监控 Linux 开发者
如何在 Linux 中优雅的使用 head 命令,用来看日志简直溜的不行
`head` 命令是 Linux 系统中一个非常实用的工具,用于快速查看文件的开头部分内容。本文介绍了 `head` 命令的基本用法、高级用法、实际应用案例及注意事项,帮助用户高效处理文件和日志,提升工作效率。
22 7
|
12天前
|
监控 Linux Perl
Linux 命令小技巧:显示文件指定行的内容
在 Linux 系统中,处理文本文件是一项常见任务。本文介绍了如何使用 head、tail、sed 和 awk 等命令快速显示文件中的指定行内容,帮助你高效处理文本文件。通过实际应用场景和案例分析,展示了这些命令在代码审查、日志分析和文本处理中的具体用途。同时,还提供了注意事项和技巧,帮助你更好地掌握这些命令。
28 4
|
11天前
|
缓存 网络协议 Linux
Linux ip命令常用操作
Linux的 `ip`命令是一个强大且灵活的网络管理工具,能够执行从基本的网络接口配置到高级的路由和VLAN管理等多种操作。通过熟练掌握这些常用操作,用户可以更加高效地管理和配置Linux系统的网络环境。无论是在日常管理还是故障排除中,`ip`命令都是必不可少的工具。
13 2
|
12天前
|
缓存 运维 监控
【运维必备知识】Linux系统平均负载与top、uptime命令详解
系统平均负载是衡量Linux服务器性能的关键指标之一。通过使用 `top`和 `uptime`命令,可以实时监控系统的负载情况,帮助运维人员及时发现并解决潜在问题。理解这些工具的输出和意义是确保系统稳定运行的基础。希望本文对Linux系统平均负载及相关命令的详细解析能帮助您更好地进行系统运维和性能优化。
35 3
下一篇
无影云桌面