iptables规则管理
查看规则
iptables -t filter -L INPUT -n -v --line
省略-t选项时,表示默认操作filter表中的规则
添加规则
注意点:添加规则时,规则的顺序非常重要
-A APPEND 在指定表的指定链的尾部添加一条规则
iptables -t filter -A INPUT -s 192.168.1.146 -j DROP
-I INSERT 在指定表的指定链的首部添加一条规则
iptables -t filter -I INPUT -s 192.168.1.146 -j ACCEPT
在指定表的指定链的指定位置添加一条规则
iptables -t filter -I INPUT 5 -s 192.168.1.146 -j REJECT
设置指定表的指定链的默认策略(默认动作),并非添加规则。
iptables -t filter -P FORWARD ACCEPT
上例表示将filter表中FORWARD链的默认策略设置为ACCEPT
删除规则
注意点:如果没有保存规则,删除规则时请慎重
按照规则序号删除规则,删除指定表的指定链的指定规则,-D选项表示删除对应链中的规则。
iptables -t filter -D INPUT 3
上述示例表示删除filter表中INPUT链中序号为3的规则。
按照具体的匹配条件与动作删除规则,删除指定表的指定链的指定规则。
iptables -t filter -D INPUT -s 192.168.1.146 -j DROP
上述示例表示删除filter表中INPUT链中源地址为192.168.1.146并且动作为DROP的规则。
清空规则
删除指定表的指定链中的所有规则,-F选项表示清空对应链中的规则,执行时需三思。 -F--flush
iptables -t filter -F INPUT
删除指定表中的所有规则,执行时需三思。
iptables -t filter -F
修改规则
注意点:如果使用-R选项修改规则中的动作,那么必须指明原规则中的原匹配条件,例如源IP,目标IP等。 -R--replace
修改指定表中指定链的指定规则,-R选项表示修改对应链中的规则,使用-R选项时要同时指定对应的链以及规则对应的序号,并且规则中原本的匹配条件不可省略。
iptables -t filter -R INPUT 3 -s 192.168.1.146 -j ACCEPT
上述示例表示修改filter表中INPUT链的第3条规则,将这条规则的动作修改为ACCEPT, -s 192.168.1.146为这条规则中原本的匹配条件,如果省略此匹配条件,修改后的规则中的源地址可能会变为0.0.0.0/0。
其他修改规则的方法:先通过编号删除规则,再在原编号位置添加一条规则。
修改指定表的指定链的默认策略(默认动作),并非修改规则,可以使用如下命令。
iptables -t filter -P FORWARD ACCEPT
上例表示将filter表中FORWARD链的默认策略修改为ACCEPT
保存规则
保存规则命令如下,表示将iptables规则保存至/etc/sysconfig/iptables文件中,如果对应的操作没有保存,那么当重启iptables服务以后
service iptables save
注意点:centos7中使用默认使用firewalld,如果想要使用上述命令保存规则,需要安装iptables-service,具体配置过程请回顾上文。
或者使用如下方法保存规则
iptables-save > /etc/sysconfig/iptables
可以使用如下命令从指定的文件载入规则,注意:重载规则时,文件中的规则将会覆盖现有规则。
iptables-restore < /etc/sysconfig/iptables
最新文章
- 简谈switch case
- java的eclipse操作和常用类Object的使用
- 转:python webdriver API 之alert/confirm/prompt 处理
- js作用域链与this
- jQuery滑过头像图片展示个人信息效果
- CPU与外设传送数据方式
- Interview Algorithm
- Identity-修改Error错误提示为中文
- 【框架学习与探究之定时器--Hangfire】
- Codeforces April Fools Contest 2017
- Android简易实战教程--第十九话《手把手教您监听EditText文本变化,实现抖动和震动的效果》
- COGS2421 [HZOI 2016]简单的Treap
- SpringBoot2.0+Mybatis-Plus3.0+Druid1.1.10 一站式整合
- UEditor学习笔记1
- “Uncaught TypeError: Cannot call method &#39;createChild&#39; of undefined"; 问题的解决
- Servlet 实现网页计数器
- TFS:需要包管理许可证才能进一步操作You need a Package Management license to go further
- CentOS 加载/挂载 U盘 (转)
- 阅读ANSI C,寻找乐趣和裨益——const char **与char **为何不兼容
- MQTT-SN协议乱翻之小结篇
热门文章
- C(++)判断文件是否存在
- Interesting Yang Yui Triangle(hdu3304)
- 郑厂长系列故事——体检(hdu 4519)
- 第四十六个知识点 在Sigma协议中,正确性,公正性和零知识性意味着什么
- 定义制造业操作(定义 MES/MOM 系统)
- Python pyecharts绘制词云图
- Spring企业级程序设计 • 【第6章 深入Spring MVC开发】
- Java Web程序设计笔记 • 【第1章 Web应用程序】
- 编写Java程序,使用Swing布局管理器和常用控件,实现仿QQ登录界面
- python uwsgi 配置