iptables一些经常忘掉易混淆的参数

-A:新增加一条规则,该规则在原规则的最后面

-p:规定应用于哪种数据包,例如:tcp,udp等

-d:(destination),表示目标IP或网络

-s:(source),表示源IP或网络

-j:后面接动作,例如:ACCEPT,DROP,REJECT等

-i:后面接网卡名,input的缩写,与INPUT链配合

-o:后面接网卡名,output缩写,与output链配合

-L:列出目前的table原则

-n:不进行IP与HOSTNAME的反查

-v:列出更多信息

-F:清楚所有的已定制的规则

-X:清楚所有用户"自定义"的chain或者tables

-Z:将所有的chain的计数与流量统计都归零

注意:

在 -s 参数后面可以增加一个参数 -sport 端口范围(限制来源端口),如:1024:65535

在-d 参数后面可以增加一个参数 -dport 端口范围(限制目标端口)

需要特别注意,这两个参数重点在port上面,并且仅有TCP和UDP数据包具有端口,因此要想使用–dport,–sport时需要加上-p tcp或者 -p udp才会成功

常用用法:

来自192.168.100.10的就接受,来自192.168.100.11就抛弃

iptables -A INPUT -i eth0 -s 192.168.100.10 -j ACCEPT

iptables -A INPUT -i eth0 -s 192.168.100.11 -j DROP

iptables -I INPUT -i eth0 -s 192.168.100.0/24 -j ACCEPT

丢弃所有想要链接本机21端口的数据包

iptables -A INPUT -i eth0 -p tcp --dport 21 -j DROP

禁止某个IP访问80端口

iptables -A INPUT -s "IP" -p tcp --dport 80 -j DROP

只要来自192.168.1.0/24的1024:65535端口的数据包,且想要连接的本机的ssh port就阻挡

iptables -A INPUT -i eth0 -p tcp -s 192.168.1.0/24 --sport 1024:65535 --dport ssh -j DROP

开启常用端口

iptables -A INPUT -p tcp --dport 80 -j ACCEPT

iptables -A INPUT -p tcp --dport 3306 -j ACCEPT

iptables -A OUTPUT -p tcp --sport 80 -j ACCEPT

iptables -A OUTPUT -p tcp --sport 3306 -j ACCEPT

iptables -A INPUT -p tcp --dport 20 -j ACCEPT

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

iptables -A INPUT -p tcp --dport 10000 -j ACCEPT

iptables -A INPUT -p tcp --dport 25 -j ACCEPT

iptables -A INPUT -p tcp --dport 110 -j ACCEPT

iptables -A INPUT -p udp --dport 53 -j ACCEPT

操作命令

保存防火墙配置

/etc/init.d/iptables save

开机自启动防火墙

chkconfig iptables on

查看运行状态

/etc/init.d/iptables status

未完待续

时间: 2024-08-26 12:07:54

iptables一些经常忘掉易混淆的参数的相关文章

易混淆名词辨析

以前学习总是懒得查,懒得问,很多名词都不知道是干嘛的,学的越来越多,混得越来越厉害.这次在学习Asp.net和Javascript中又接触到一些,借此机会,把这些学过的都对比和归纳一下. ADO与ADO.NET ADO: 这是第一年做那五个实例的时候用到过的吧,当时对于连接数据库并不太懂.其实ADO就是应用程序和数据源打交道时中间借助的那么一种东东,通过它我们就可以取出数据库中的数据,当然还可以对数据进行操作然后再保存到数据库. ActiveX DataObjects,一种程序对象,用于表示用户

常问易混淆知识点(嵌入式)

b 一.知识点1 a) 关键字volatile在编译时有什么含义?并给出三个不同使用场景的例子(可以伪代码或者文字描述).b) C语言中static关键字的具体作用有哪些 ?c) 请问下面三种变量声明有何区别?请给出具体含义int const *p;int* const p;int const* const p; a) 用volatile关键字定义变量,相当于告诉编译器,这个变量的值会随时发生变化,每次使用时都需要去内存里 重新读取它的值,并不要随意针对它作优化. 建议使用volatile变量的

软考网络工程师易混淆的知识点汇总

网络工程师考试是全国计算机技术与软件水平考试的一项中级资格考试,通过考试的合格人员能根据应用部门的要求进行网络系统的规划.设计和网络设备的软硬件安装调试工作,能进行网络系统的运行.维护和管理,能高效.可靠.安全地管理网络资源,作为网络专业人员对系统开发进行技术支持和指导,具有工程师的实际工作能力和业务水平,能指导网络管理员从事网络系统的构建和管理工作.网络工程师考试是软考的一大热门,怎样才能顺利通过考试是广大考生都想知道的,下面希赛软考学院为您带来网络工程师备考锦囊之应战篇,专业老师整理的网络工

ORACLE 中极易混淆的几个 NAME 的分析和总结

我们知道,Oracle中的各种NAME会在我们的各个配置文件中经常出现,大致有以下这些: 在init.ora中有DB_NAME,INSTANCE_NAME,SERVICE_NAME 配置DG的时候,为了区分主备库,还要使用DB_UNIQUE_NAME 在操作系统中需要配置环境变量,ORACLE_SID 在listener.ora中有SID_NAME,GLOBAL_DBNAME 在tnsname.ora中有SERVICE_NAME,SID,NET SERVICE NAME 那么这么多名字到底有哪些

js和java中正则表达式的易混淆点

js中正则表达式的使用 对表单中的值进行正则表达式匹配一般有两种方法: var reg = new RegExp(regStr); reg.test(value); 如下: var reg = new RegExp("\\d{3}"); reg.test("abc123def"); 结果:true 注:new RegExp中传的是正则表达式的字符串,\需要用\转义. str.match(regex);      如"abc123def".matc

C++之易混淆知识点一

1.const.mutable与volatile的区别:const表明内存被初始化以后,程序将不能对它进行修改.volatile则表明,即使程序代码没有对内存单元进行修改,但是里面的值也可能会发生变化.例如:将一个指针指向某个硬件位置,其中包含了来自串行端口的时间和信息,在某些情况下,硬件而不是程序可能会修改其中的内容,或者两个程序可能相互影响,共享数据.该关键字的作用就是为了改善编译器的优化能力.假设编译器发现程序在几条语句中两次使用某个变量的值,则编译器可能不是让程序查找这个编码的值两次,而

a链接易混淆用法详解

链接可以说遍布互联网,比如你想提供一个可以跳转到百度首页的链接给网友,那么代码如下: <a href="http://www.baidu.com">百度一下,你就知道</a> 而如果这个链接指向的网址你想在浏览器中的新窗口中打开,那么代码如下: <a href="http://www.baidu.com" target="_blank">百度一下,你就知道</a> 那如果我页面中有一堆的a链接都想在

微软BI 之SSIS 系列 - 对于平面文件中 NULL 值处理过程中容易极易混淆的几个细节

最近有人问我 OLE DB Destination 中的 Keep Nulls 如何控制 NULL 值的显示,为什么选中了 Keep Nulls 但是数据库中没有 NULL 值? 为什么在 Flat File Source 中勾选上了 Retain null values from the source as null values in the data flow 但是为什么目标表上显示的是一个当前日期,而不是 NULL 值等等,单开此文来解释这些非常容易混淆的概念. 在比较纯粹的 ETL 项

C++之易混淆知识点四---虚函数与虚继承

C++面向对象中,虚函数与虚继承是两个完全不同的概念. 一.虚函数 C++程序中只要类中含有虚拟函数,编译程序都会为此类生成一个对应的虚拟函数跳转表(vtbl),该虚拟函数跳转表是一个又若干个虚拟函数体入口地址组成的一个线性表.派生类的虚拟函数跳转表的前半部分由父类的vtbl得出,但是里面的内容不一定相同,后半部分则对应着自己新定义的虚拟函数. class Employee { protected: char *Name; int Age; public: void changeAge(int