我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Linux下有哪些iptables的相关配置与命令

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Linux下有哪些iptables的相关配置与命令

这篇文章主要讲解了“Linux下有哪些iptables的相关配置与命令”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linux下有哪些iptables的相关配置与命令”吧!

启动和停止
1、命令:

代码如下:

service iptables start/stop/restart


或者直接去找/etc/init.d/下的
2、配置文件:
/etc/sysconfig/iptables
没有的话,可以用iptables-save生成

框架: tables > chains > rules(target)
整体上可认为iptables就是由许多chain组成的,要不然其老版本怎么叫做ipchains呢。但是划分层次为:
一个table可由多个chain组成,一个chain可由多个rules组成(一个rule对应一个target)。
target概念的好处是:系统预置了一些target,如ACCEPT,DROP,REJECT,LOG等,意思是如果这个包匹配这条rule,其处理办法就是target。这里引入target的好处在于,允许用户自定义一条chain,然后用chain名做为新的target,这样,就可以聚合一些rule!形成了层次性的rule,就是说如果满足这条rule,那么再看其target里面的rule。
1、iptables由四张table组成,每张table由默认的chain组成:
(1)filter: 默认有三个chain——INPUT,OUTPUT和FORWARD
(2)nat: 做NAT工作,默认三个chain——OUTPUT,PREROUTING,POSTROUTING
(3)mangle: 对包的一些参数进行修改,默认有五个chain——INPUT,OUTPUT,FORWARD,PREROUTING,POSTROUTING
(4)raw:作用未明,默认有两个chain——OUTPUT,PREROUTING
不同的table分管不同的方面。iptables的默认命令是对filter生效。可以用-t nat指定对nat生效。
2、所谓的配置防火墙就是:
(1)向chain添加rule:
每个chain都是由一系列rule组成的,比如你要更改INPUT这个chain来允许用户访问你机器上的某个端口。
比如这个INPUT有两个rule,一个用于允许用户访问你的5901端口,一个用于允许用户访问你的5902端口

一般安全策略:
1、从最严厉的安全措施开始,当你发现有用的东西不能工作时再一点点儿的放宽限度。
2、防火墙不能当作防范入侵的主要手段,它只能作为每台主机上独立保护措施的一个补充罢了。每台主机上的独立保护措施包括crack,tcpd,nmap,COPS,tripwire和相应的策略。

规则和命令:
规则很简单,相应的包,会交给相应的内置chain,然后对于chain中的rules,是从上到下的顺序进行匹配,和break语句一样。所以,比如你要开放某些端口,就写上面,最后才写封闭所有端口。
静态规则:
1、iptables -F chain-name:
清除名为chain-name的chain中的所有rule,只写-F清除所有的chain中的所有rule,但保留chain。
这默认只对filter table的。如果要清除如nat table的,要用 iptables -t nat -F
2、iptables -P chain-name target:
给名为chain-name的chain设置默认的rule。这个通常是放在给该chain设置的所有rule的开头。相当于break语句中的default。 注意,如果给nat或mangle中的chain设置,则别忘了用 -t table。 但是注意的是,这里的target只能用内置的
3、iptables -A chain-name rule
给名为chain-name的chain添加一条规则,后面rule是一下的组合:
-j target 预置target或用户自定义的chain
-i interface 如eth0
-p proto 协议,有tcp,udp
-s source-ip 源ip
-d dest-ip 目的ip
--sport source-port 源端口
--dport dest-port 目的端口
--icmp-type type 匹配ICMP类型,比如你允许哪些类型的ICMP包通过,后面跟数字
! 否定
-t table
4、iptables -I chain-name rulenum rule:
这个和-A的区别是:插入,而不是加在末尾。rulenum为1表示加在最前面。
5、iptables -X chain-name:
删除非系统内置(用户自定义)的chain,这个不同于-F,这个是把chain整个删除,名字都没了,即你用iptables -L -v看不到了。
6、iptables -D chain-name rule/rulenum
这个同iptable -A chain-name rule完全相反,如果你要删除chain-name中的一条rule,就按照-A时的写法就可以删除之。或者用rulenum,即该chain的从上往下数的num数,第一条rule的rulenum为1。
7、iptables -L chain-name
打印名为chain-name的chain的rules。不给出chain-name,则打印所有chain。
8、iptables -L -v chain-name
在6的基础上加了些有用信息,如从开机到现在,匹配每条rule的包的数量!

动态规则: 针对connection(TCP连接)
1、有三种动态参数:
NEW:指收到的第一次TCP连接
ESTABLISHED:当连接建立后,属于该connection的包
RELATED:当连接建立后,又有相关的连接建立(典型的是ftp的passive模式,由client发起到server的数据连接,这个端口是由server指定的,但由client发起)
2、命令:

代码如下:


iptables -A INPUT -m state --state NEW -j DROP
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT


上面两条命令,拒绝所有NEW的外来包。但允许自己发出的连接收到外来的数据(ESTABLISHED)
再加上:

代码如下:


iptables -A INPUT -p tcp -dport 21 -j ACCEPT
iptables -A INPUT -p udp -dport 21 -j ACCEPT


则表示可以允许外界访问21端口(FTP,并假设采用passive模式),结合上面的状态,则允许外界主动发起到自己的ftp数据连接———可能是任意端口,但这里已不用写了!!
所以,一般,先写上动态规则,然后再写静态规则,就可以做到处理一些像FTP Passive模式这种不知道用户会访问哪个端口的情况。
3、注意:
有状态的规则需要内核相应模块支持,如果没有编译进,或没有加载,则不会生效的。

iptables对请求的URL作IP访问控制
下面来看一个实例。
服务器运行环境是Tomcat,现在要实现的目的是,只允许特定的IP访问某个目录,
一种方法是在tomcat配置文件server.conf中,使用RemoteAddrValve对虚拟主机做访问控制。
另外一种方法可以通过iptables规则。个人比较喜欢iptables
例如:禁止访问http://192.168.137.254:10000/managersns 这个路径,只允许192.168.137.101访问

代码如下:


/sbin/iptables -A INPUT -i eth0 -p tcp --dport 10000 -s 192.168.137.101 -m string --string "/managersns" --algo bm -j ACCEPT /sbin/iptables -A INPUT -i eth0 -p tcp --dport 10000 -m string --string "/managersns" --algo bm -j DROP
/sbin/iptables -A INPUT -i eth0 -p tcp --dport 10000 -s 192.168.137.101 -m string --string "/managersns" --algo bm -j ACCEPT
/sbin/iptables -A INPUT -i eth0 -p tcp --dport 10000 -m string --string "/managersns" --algo bm -j DROP


以上规则是正对eth0网卡,可以跟踪自己需求修改。
参数说明:
-m string
使用string功能,string是iptables的一个module,也就是做字符串匹配的。
–string “xxxx”
定义字符串内容,可以是URL里任意字符,如果是需要block下载某些类型的文件或请求,这个有很大的发挥空间,可自由想象喔。
–algo bm
设置字符匹配的查询算法,一般默认使用bm算法效果就可以了,另外还可以设置kmp算法,那是一种更复杂的算法,详细内容可自行参见高等数学里的资料。(bm = Boyer-Moore, kmp = Knuth-Pratt-Morris)
-j DROP
这在公司网络禁用视频网站是非常有效的,在网关服务器上设置:

代码如下:


iptables -A FORWARD -m string –-string “ku6.com” --algo bm -j DROP iptables -A FORWARD -m string –-string “tudou.com” –-algo bm -j DROP iptables -A FORWARD -m string –-string “ouou.com” –-algo bm -j DROP
iptables -A FORWARD -m string –-string “ku6.com” --algo bm -j DROP
iptables -A FORWARD -m string –-string “tudou.com” –-algo bm -j DROP
iptables -A FORWARD -m string –-string “ouou.com” –-algo bm -j DROP


其中各项参数的意义如下:
-A FORWARD
增加FORWARD链的规则,以上规则是针对启用了路由功能(即:echo 1 > /proc/sys/net/ipv4/ip_forward)
如果是直接访问,可使用的INPUT或OUTPUT。
设置符合此条件的包的处理方式,DROP即是丢弃,也是reject的意思。

代码如下:

iptables -A INPUT -m string --string "stringname" --algo bm -j DROP

感谢各位的阅读,以上就是“Linux下有哪些iptables的相关配置与命令”的内容了,经过本文的学习后,相信大家对Linux下有哪些iptables的相关配置与命令这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Linux下有哪些iptables的相关配置与命令

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Linux下有哪些iptables的相关配置与命令

这篇文章主要讲解了“Linux下有哪些iptables的相关配置与命令”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linux下有哪些iptables的相关配置与命令”吧!启动和停止1、命令
2023-06-12

Linux技术的相关命令有哪些

本篇文章为大家展示了Linux技术的相关命令有哪些,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。  Linux 是一个命令行组成的操作系统,精髓在命令行,无论图形界面发展到什么水平这个原理都是无法改
2023-06-05

linux网络相关命令有哪些

这篇文章将为大家详细讲解有关linux网络相关命令有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。内容如下:1、ping 发送TCMP回显请求报文,并等待返回TCMP回显应答。ping [OPTION
2023-06-09

Linux下与磁盘空间和文件尺寸相关的命令有哪些

这篇文章主要讲解了“Linux下与磁盘空间和文件尺寸相关的命令有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linux下与磁盘空间和文件尺寸相关的命令有哪些”吧!ls -al这个命令大
2023-06-03

Linux命令相关的基本知识有哪些

这篇文章给大家分享的是有关Linux命令相关的基本知识有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。本文约定对于每一个命令,大致分为如下三个部分功能简单介绍该命令功能。举例给出该命令最常使用的例子。描述详细
2023-06-05

Linux目录管理相关命令有哪些

这篇文章主要介绍了Linux目录管理相关命令有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。首先输入cd /mnt,进入/mnt目录,因为默认/mnt下为空,实验效果明显
2023-06-05

linux查看配置命令有哪些

小编给大家分享一下linux查看配置命令有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!linux查看配置命令有:1、lscpu命令,用于查看CPU个数;2、
2023-06-22

Linux系统下iptables基本配置方法有哪些

这篇文章主要介绍Linux系统下iptables基本配置方法有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Linux系统下配置iptables的具体步骤:1、查看本机关于IPTABLES的设置情况[root@w
2023-06-16

workerman启动与停止相关命令有哪些

这篇文章主要介绍workerman启动与停止相关命令有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!start.php为入口文件一、启动1、以debug(调试)方式启动 (这个是启动后,关闭后这启动就断掉的)ph
2023-06-14

linux下正常关机命令有哪些

这篇文章主要介绍了linux下正常关机命令有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。系统启动的时候生成一个文件,linux正常关机的时候会删除这个文件。网管员们则可
2023-06-17

Linux下与文件相关的时间有哪些

这篇文章将为大家详细讲解有关Linux下与文件相关的时间有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。与文件相关的几个时间:   1、访问时间,读一次这个文件的内容,这个时间就会更新。比如对这个文件
2023-06-13

CentOS下FTP连接传输的相关命令有哪些

这篇文章给大家分享的是有关CentOS下FTP连接传输的相关命令有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。%ftp 主机名/IP 匿名登录:用户名输入:a
2023-06-10

linux配置ip地址命令有哪些

这篇文章主要介绍了linux配置ip地址命令有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇linux配置ip地址命令有哪些文章都会有所收获,下面我们一起来看看吧。linux配
2023-03-21

Linux的关机命令有哪些

这篇文章给大家分享的是有关Linux的关机命令有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。下Linux关机命令:shutdown、halt、poweroff 、reboot。shutdown 命令shut
2023-06-28

Linux下时间设置的相关命令整理

这篇文章主要介绍“Linux下时间设置的相关命令整理”,在日常操作中,相信很多人在Linux下时间设置的相关命令整理问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linux下时间设置的相关命令整理”的疑惑有所
2023-06-12

linux中xfs文件系统相关命令有哪些

这篇文章主要介绍linux中xfs文件系统相关命令有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!创建 XFS 文件系统mkfs.xfs 命令用来创建 xfs 文件系统。无需任何特别的参数,其输出如下:root@
2023-06-16

Linux常用硬盘管理相关命令有哪些

本篇内容介绍了“Linux常用硬盘管理相关命令有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1、df命令df命令用于统计分区的占用状况
2023-06-21

Linux下yum源配置和yum工具相关命令介绍

这篇文章主要介绍“Linux下yum源配置和yum工具相关命令介绍”,在日常操作中,相信很多人在Linux下yum源配置和yum工具相关命令介绍问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linux下yum
2023-06-05

Linux下压缩与解压命令有哪些

这篇文章给大家分享的是有关Linux下压缩与解压命令有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。【tar命令】解压:tar -zxvf FileName.tar压缩:tar -czvf FileName.
2023-06-09

编程热搜

目录