基本语法 iptables -t (表名) 选项 (链名) 条件 -j 目标操作

4个表 nat地址转换 filter数据过滤 raw 状态跟踪 mangle包标记POSTROUTING路由后
选项 -A 链尾的加规则
-I 链的开头或序号插入一条规则
-L 列出所有的规则条目
-n 以数字形式显示地址 端口等信息
–line-numbers 查看规则 显示规则的序号
-D 删除链内序号或内容的一条规则
-F 清空所有的规则
-p 对应的协议
–dport 对应端口
-m 扩展规则
目标操作
ACCEPT DROP REJECT LOG日志 (必须大写)
基本使用案例
01. [ root@proxy ~] # iptables - t f ilter - A INPUT - p tcp - j ACCEPT
02. //追加规则至f ilter表中的INPUT链的末尾,允许任何人使用TCP协议访问本机
3. 03. [ root@proxy ~] # iptables - I INPUT - p udp - j ACCEPT
04. //插入规则至f ilter表中的INPUT链的开头,允许任何人使用UDP协议访问本机
05. [ root@proxy ~] # iptables - I INPUT 2 - p icmp - j ACCEPT
06. //插入规则至f ilter表中的INPUT链的第2行,允许任何人使用ICMP协议访问本机
查看iptables防火墙规则
01. [ root@proxy ~] # iptables - nL INPUT
02. target
03. ACCEPT
udp - - 0.0.0.0/0
0.0.0.0/0
04. ACCEPT
icmp - - 0.0.0.0/0
0.0.0.0/0
05. ACCEPT
tcp - - 0.0.0.0/0
0.0.0.0/0
06. [ root@proxy ~] # iptables - L INPUT - - line- numbers
07. num target
prot opt source
destination
08. 1 ACCEPT
udp - - any where
any where
09. 2
ACCEPT
icmp - -
any where
any where
10. 3
ACCEPT
tcp - -
any where
any where
prot opt source
//仅查看INPUT链的规则
destination
//查看规则,显示行号
删除规则,清空所有规则
01. [ root@proxy ~] # iptables - D INPUT 3
02. //删除f ilter表中INPUT链的第3条规则
03. [ root@proxy ~] # iptables - nL INPUT
04. [ root@proxy ~] # iptables - F
05. //清空f ilter表中所有链的防火墙规则
06. [ root@proxy ~] # iptables - t nat - F
07. //清空nat表中所有链的防火墙规则
08. [ root@proxy ~] # iptables - t mangle - F
09. //清空mangle表中所有链的防火墙规则
10. [ root@proxy ~] # iptables - t raw - F
11. //清空raw表中所有链的防火墙规则
//查看规则,确认是否删除
设置防火墙默认规则
01. [ root@proxy ~] # iptables - t f ilter - P INPUT DROP
02. [ root@proxy ~] # iptables - nL
03. Chain INPUT ( policy DROP)
禁ping
[ root@proxy ~] # iptables - I INPUT - p icmp - j DROP
02. //设置完上面的规则后,其他主机确实无法ping本机,但本机也无法ping其他主机
03. //当本机ping其他主机,其他主机回应也是使用icmp,对方的回应被丢弃
禁止其他主机ping本机ping其他主机
[ root@proxy ~] # iptables - A INPUT - p icmp \
02. > - - icmp- ty pe echo- request - j DROP
03. //仅禁止入站的ping请求,不拒绝入站的ping回应包
根据mac地址过滤
root@proxy ~] # iptables - A INPUT - p tcp - - dport 22 - m mac - - mac- source 52: 54: 00: 00: 00: 0b - j DROP
多端口过滤规则
[ root@proxy ~] # iptables - A INPUT - p tcp \
02. > - m multiport - - dports 20: 22,25,80,110,143,16501: 16800 - j ACCEPT
03. //一次性开启20,21,22,25,80,110,143,16501到16800所有的端口
根据ip地址范围过滤
允许从 192.168.4.10-192.168.4.20 登录
01. [ root@proxy ~] # iptables - A INPUT - p tcp - - dport 22 \
02. > - m iprange - - src- range 192.168.4.10- 192.168.4.20 - j ACCEPT
注意,这里也可以限制多个目标IP的范围,参数是–dst-range,用法与–src-range一致。
2)禁止从 192.168.4.0/24 网段其他的主机登录
01.
[ root@proxy ~] # iptables - A INPUT - p tcp - - dport 22 - s 192.168.4.0/24 - j DROP
步骤一:搭建内外网案例环境
表-4 实验拓扑
这里,我们设定192.168.2.0/24网络为外部网络,192.168.4.0/24为内部网络。
现在,在外部网络中有一台web服务器192.168.2.100,因为设置了网关,client已经可以访问
此web服务器了。但,如果查看web1的日志就会发现,日志里记录的是192.168.4.100在访问网
页。
我们需要实现的效果是,client可以访问web服务器,但要伪装为192.168.2.5后再访问web服
务器(模拟所有位于公司内部的电脑都使用的是私有IP,希望访问外网,就需要伪装为公司的外网IP
后才可以)。
步骤二:设置防火墙规则,实现IP地址的伪装(SNAT源地址转换)
1)确保proxy主机开启了路由转发功能
01.
[ root@proxy ~] # echo 1 > /proc/sy s/net/ipv 4/ip_f orward
//开启路由转发
2)设置防火墙规则,实现SNAT地址转换
01. [ root@proxy ~] # iptables - t nat - A POSTROUTING \
02. > - s 192.168.4.0/24 - p tcp - - dport 80 - j SNAT - - to- source 192.168.2.5
3)登陆web主机查看日志
01. [ root@proxy ~] # tail /v ar/log/httpd/access_log
02. .. ..
03. 192.168.2.5 - - [ 12/Aug/2018: 17: 57: 10 +0800] “GET / HTTP/1.1” 200 27 “- ” “Mozilla/4.0
通过日志会发现,客户端是先伪装为了192.168.2.5之后再访问的web服务器!
4)扩展知识,对于proxy外网IP不固定的情况可以执行下面的地址伪装,动态伪装IP。
Top
http://tts.tmooc.cn/ttsPage/LINUX/NSDTN201801/SECURITY/DAY04/CASE/01/index.html
9/102018/9/6
CASE
01. [ root@proxy ~] # iptables - t nat - A POSTROUTING \
02. > - s 192.168.4.0/24 - p tcp - - dport 80 - j MASQUERADE
最后,所有iptables规则都是临时规则,如果需要永久保留规则需要执行如下命令:
01.
[ root@proxy ~] # serv ice iptables sav e

iptables规则书写总结相关推荐

  1. 26期20180716 iptables规则备份恢复 firewalld zone

    7月16日任务 10.19 iptables规则备份和恢复 10.20 firewalld的9个zone 10.21 firewalld关于zone的操作 10.22 firewalld关于servi ...

  2. iptables规则备份和恢复、firewalld的9个zone、firewalld关于zone和service操作

    2019独角兽企业重金招聘Python工程师标准>>> 保存和备份iptables规则 service iptables save //会把规则保存到/etc/sysconfig/i ...

  3. linux iptables规则组成及用法

    这是iptables一条规则的基本组成,也是iptables定义规则的命令格式: 第一列是iptables命令: 第二列指定规则所在的表,常用的是nat和filter表: 第三列是命令,常用命令如下: ...

  4. 用Php设置Iptables,如何使用CSF添加自定义iptables规则

    CSF(configserver firewall)是一种基于iptables的防火墙,为实现iptables规则提供了更简单的方法.有时我们需要添加一些特定的规则(例如,CSF未涵盖的IPtable ...

  5. iptables规则备份和恢复,任务计划chkconfig工具systemd管理服务

    2019独角兽企业重金招聘Python工程师标准>>> iptables规则备份和恢复 备份 iptables-save > /tmp/ipt.txt service ipta ...

  6. linux系统中查看己设置iptables规则

    1.iptables -L 查看filter表的iptables规则,包括所有的链.filter表包含INPUT.OUTPUT.FORWARD三个规则链. 说明:-L是--list的简写,作用是列出规 ...

  7. iptables规则备份恢复,firewalld的9个zone

    2019独角兽企业重金招聘Python工程师标准>>> 10月29日任务 10.19 iptables规则备份和恢复 10.20 firewalld的9个zone 10.21 fir ...

  8. iptables规则备份和恢复、firewall的zone的操作、service的操作

    iptables规则备份和恢复 保存和备份iptables规则如下: service iptables save //会把规则保存到/etc/sysconfig/iptables 把iptables规 ...

  9. iptables规则基本用法

    iptables规则基本语法 iptables [-t table] option argu table: 可选4表其中之一,raw,mangle,nat,filter,不指定默认为filter表 o ...

最新文章

  1. Acwing第 38 场周赛【完结】
  2. jQuery遍历not的用法
  3. [react] 展示组件和容器组件有什么区别?
  4. 阿里研究院:2020阿里农产品电商报告
  5. 贪心算法——洛谷(P1090)[NOIP2004]合并果子
  6. Python批量导入图片生成PowerPoint 2007+文件
  7. Android OkHttp经验小结
  8. 博客文件第二部分 Linux Shell高级编程技巧——第一章 深入讨论
  9. linux下查看当前shell方法。
  10. 帆软高级函数应用之文本函数
  11. java发送带附件的邮件_Java发送邮件(带附件)
  12. hualinux 学生党 建议:读书就是为了社会目标做准备
  13. 学习笔记:FW内容安全概述
  14. Chrome浏览器未连接到互联网的解决办法
  15. U盘删除附带的CD驱动器内的数据
  16. 宝塔 Plugin ‘InnoDB‘ registration as a STORAGE ENGINE failed 解决办法
  17. 一种通俗易懂的PWM的解释
  18. 二级c语言会考文件打开,2017计算机二级C语言文件知识点
  19. js 正则替换非数字的字符的几种情况
  20. Android基于mAppWidget实现手绘地图(十一)–移动地图到某个坐标

热门文章

  1. 关系 base_weather 不存在_国培教育-2020江苏公务员考试:反对关系真的好用吗?...
  2. C++:传递数组给函数
  3. nn.dropout()的用法,随机失活
  4. 卷积神经网络系列之softmax,softmax loss和cross entropy
  5. jquery实现:返回顶部(动画·代码精简版)- 代码篇
  6. WordPress病毒杂志主题King V6.5 英文Nulled版
  7. 全球服务器内存芯片市场规模,2020年全球存储芯片行业市场现状分析,中国是全球最主要的消费国「图」...
  8. 阻止默认事件,浏览器滚动回弹,
  9. vue 使用 better-scroll
  10. Sublime 安装包时出现的 There are no packages available for installation