澳门新萄京官方网站-www.8455.com-澳门新萄京赌场网址

澳门新萄京官方网站4内核中新增功能指南,Lin

2019-09-11 作者:服务器运维   |   浏览(77)

一 本文目标

小说转发自:

iptables官网:

iptables 中的指令,均需区分轻重缓急写。

        Iptables选取了表和链的道岔结构,各类准绳表相当于内核空间的三个容器,依照法规集的不等用途划分为默许的多少个表,raw表,mangle表,nat表,filter表,每一种表容器内满含区别的准则链,遵照拍卖数据包的分裂不经常候机划分为多样链,而调控是不是过滤或拍卖数据包的各样条条框框,按前后相继顺序贮存在各准绳链中。

本文首如若研究 Linux 2.4 内核中的iptables 的种种新扩充功能和行使形式,怎么着有效地动用那一个新扩充的作用设置公司的防火墙准绳,举个例子表达了增加产量作用在商号中的应用。

 

  • 数据包经过防火墙的门道
  • 禁绝端口
  • 强制访谈某站点
  • 公布内部互联网服务器
  • 智能DNS
  • 端口映射
  • 通过NAT上网
  • IP准则的保存与还原
  • iptables指令语法
  • iptables实例

ipchains 和 iptables 在语法上的要紧的差距,注意如下∶

1、防火墙:内核中持有包过滤系统

二 操作意况

  在底下的配置中自然要充足当心,在起来别的具备职业在此之前,首先创制贰个条条框框,容许管理员接入。这是因为借使将全部的平整都配置为DROP ,SSH连接也会被取缔,那样连修改的时机也没了。
其余常识
自己用的是CentOS,防火墙被设置为服务,系统活动提供了三个iptables的治本脚本  /etc/init.d/iptables 。那当中提供了多少个选项:start 、 stop、restart、condrestart、status、panic、save  。
要注意假如 使用命令 service iptables stop 、 service iptables start 、 service iptables restart  那多少个命令会消除当前活蹦乱跳的准绳集,并从配置文件中重复载入。所以必要使用 service iptables save  命令保存当前活蹦乱跳的平整集.
暗许的配备文件路径:/etc/sysconfig/iptables
配置

数据包经过防火墙的门道

图1相比完好地突显了叁个数据包是何等通过防火墙的,思虑到节省空间,该图实际上包了三种情景:

出自外部,以免火墙(本机)为指标地的包,在图第11中学自上至下走左侧一条路径。

由防火墙(本机)发生的包,在图第11中学从“本地进度”最初,自上至下走左侧一条门路

发源外界,指标地是其他主机的包,在图第11中学自上至下走侧边一条渠道。

澳门新萄京官方网站 1

图1

假若大家从上海教室中略去比较少用的mangle表的图示,就有图2所彰显的越发清晰的门道图.

澳门新萄京官方网站 2

图2

 

  1. 在 ipchains 中,诸如 input 链,是行使小写的 chains 名,在 iptables 中,要改用大写 INPUT。

  2. 在 iptables 中,要钦命准则是欲功用在那几个法则表上(使用 -t 来内定,如 -t nat),若不点名,则预设是法力在 filter 那一个表。

  3. 在 ipchains 中, -i 是指介面(interface),但在 iptables 中,-i 则是指步向的方向,且多了 -o,代表出来的势头。

  4. 在 iptables 中,来源 port 要采纳首要字 --sport 或 --source-port

  5. 在 iptables 中,指标 port 要选用首要字 --dport 或 --destination-port

  6. 在 iptables 中,"抛弃" 的治罪动作,不再行使 DENY 那些 target,改用 DROP。

  7. 在 ipchains 的记录档功用 -l,已改为对象 -j LOG,并可钦赐记录档的标题。

  8. 在 ipchains 中的旗标 -y,在 iptables 中可用 --syn 或 --tcp-flag SYN,ACK,FIN SYN

  9. 在 iptables 中,imcp messages 型态,要拉长关键字 --icmp-type,如∶

内核态:netfilter

Redhat Linux 7.1自带的模块化内核,专线连接网络,两块网卡的防火墙,内部网段为10.0.0.0/255.255.255.0, 防火墙外界网卡接口地址为1.2.3.4。

  •  
    • 第一设置防火墙的平整允许管理通讯访问,允许到防火墙的SSH连接,使用下边包车型地铁下令:

不准端口的实例

  • ### 禁止ssh端口

只允许在192.168.62.1上行使ssh远程登陆,从别的Computer上禁止行使ssh

#iptables -A INPUT -s 192.168.62.1 -p tcp --dport 22 -j ACCEPT

#iptables -A INPUT -p tcp --dport 22 -j DROP

  • ### 禁止代理端口

#iptables -A INPUT -p tcp --dport 3128 -j REJECT

  • ### 禁止icmp端口

除192.168.62.1外,禁止其余人ping笔者的主机

#iptables -A INPUT -i eth0 -s 192.168.62.1/32 -p icmp -m icmp --icmp-type echo-request -j ACCEPT #iptables -A INPUT -i eth0 -p icmp --icmp-type echo-request –j ?DROP

或 #iptables -A INPUT -i eth0 -s 192.168.62.1/32 -p icmp -m icmp --icmp-type 8 -j ACCEPT #iptables -A INPUT -i eth0 -p icmp -m icmp --icmp-type 8 -j DROP

注:可以用iptables --protocol icmp --help查看ICMP类型

还会有未有别的措施落到实处?

  • ### 禁止QQ端口

#iptables -D FORWARD -p udp --dport 8000 -j REJECT

 

iptables -A OUTPUT -o eth0 -p icmp -s $FW_IP --icmp-type 8 -d any/0 -j ACCEPT

客户态:iptables  处理工科具

三 iptables与ipchains的分裂之处

                iptables -A INPUT -p tcp -s 192.168.92.0/24 --dport 22 -j ACCEPT

强制访谈钦点的站点

澳门新萄京官方网站 3

图3

 

要使192.168.52.0/24互联网内的微管理器(那此Computer的网关应设为192.168.52.10)强制访谈钦赐的站点,在做为防火墙的Computer(192.168.52.10)上应丰硕以下法则:

  1. 开垦ip包转载成效 

echo 1 > /proc/sys/net/ipv4/ip_forward

  1. 在NAT/防火墙Computer上的NAT表中增多目标地址转换法则:

iptables -t nat -I PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to-destination 202.96.134.130:80

iptables -t nat -I PREROUTING -i eth0 -p udp --dport 80 -j DNAT --to-destination 202.96.134.130:80

  1. 在NAT/防火墙Computer上的NAT表中增添源地址调换准绳: 

iptables -t nat -I POSTROUTING -o eth1 -p tcp --dport 80 -s 192.168.52.0/24 -j SNAT --to-source 202.96.134.10:20000-30000

iptables -t nat -I POSTROUTING -o eth1 -p udp --dport 80 -s 192.168.52.0/24 -j SNAT --to-source 202.96.134.10:20000-30000

4. 测验:在其间网的任一台微型Computer上展开浏览器,输入任一非本互联网的IP,都将指向IP为202.96.134.130的网站.

iptables 使用时的金科玉律

专业在网络层:能够对ip地址、端口、公约等音信进行拍卖

  1. 停放法规的重新定义,轻松化准则管理Linux 内核中放置的INPUT,OUTPUT,FO凯雷德WA揽胜D法则在新的iptables中,任何多个包仅仅只在那四个准绳中的任何贰个上运用,或然被INPUT法规击中,恐怕被FOTucsonWA凯雷德D准则也许OUTPUT准绳击中,不象在ipchains中别的二个包即使是穿越那台防火墙总要同一时间击中八个准则。

                s提出只能容许192.168.92.0、24以此里面网段的ip才干访谈。如果你想只怕访问80,11211等临近端口,也足以参谋那几个命令。当然了那只是大概了步向的包,还要容许出去的包。

发表内部网络服务器

澳门新萄京官方网站 4

图4

要使因特网上的管理器访谈到中间网的FTP服务器、WEB服务器,在做为防火墙的Computer上应丰裕以下法则:

  1. echo 1 > /proc/sys/net/ipv4/ip_forward

  2. 布告内部网web服务器

iptables -t nat -I PREROUTING -p tcp -i eth1 -s 202.96.134.0/24 --dport 80 -j DNAT --to-destination 192.168.52.15:80

iptables -t nat -I POSTROUTING -p tcp -i eth0 -s 192.168.52.15 --sport 80 -j SNAT --to-source 202.96.134.10:20000-30000 

  1. 颁发内部网ftp服务器

 iptables -t nat -I PREROUTING -p tcp -i eth1 -s 202.96.134.0/24 --dport 21 -j DNAT --to-destination 192.168.52.14:21

iptables -t nat -I POSTROUTING -p tcp -i eth0 -s 192.168.52.14 --sport 21 -j SNAT --to-source 202.96.134.10:40000-50000  

  1. 瞩目:内部网的微型计算机网关要设置为防火墙的ip(192.168.52.1)

  2. 测验: 用一台IP地址为202.96.134.0段的微型Computer虚构因特网访问,当在其浏览器中做客,当在其浏览器中访谈澳门新萄京官方网站,时,实际应看到的是192.168.52.15的的web服务;

当访谈ftp://202.96.134.10时,实际应看来的是192.168.52.14上的的ftp服务

 

在设定 iptables 的封包过滤准则时,有几个标准的动作,若先熟に牵缶涂勺孕刑子茫来死嗤疲芸斓兀涂梢越胝飧鎏斓刂小?/P>

2、法则链:准则的聚合

为了验证这种改换,请看上面包车型地铁代码。

  •  
    • 大概出去

智能DNS

澳门新萄京官方网站 5

图5

  1. echo 1 > /proc/sys/net/ipv4/ip_forward

  2. 在NAT服务器上丰裕以下法则:

在PREROUTING链中增添指标地方转变法规:

iptables -t nat -I PREROUTING -i eth0 -p tcp --dpor 53 -j DNAT --to-destination 202.96.134.130

iptables -t nat -I PREROUTING -i eth0 -p udp --dpor 53 -j DNAT --to-destination 202.96.134.130

在POSTROUTING链中增加源地点转变法规:

iptables -t nat -I POSTROUTING -o eth1 -s 192.168.52.0/24 -p tcp --dpor 53 -j SNAT --to-source 202.96.134.10:40000-50000

iptables -t nat -I POSTROUTING -o eth1 -s 192.168.52.0/24 -p udp --dpor 53 -j SNAT --to-source 202.96.134.10:40000-50000

  1. 测试

在里边网任一台Computer上,将DNS设置为随便的外网IP,就能够利用DNS测验工具如nslookup来深入分析DNS服务器202.96.134.130上的名称.

 

观测方今的设定

三种链:(必需大写)

Incoming / Outgoing
-->[Routing ]--->|FORWARD|------->
[Decision] _____/ ^
| |
v ____
___ /
/ Linux防火墙 |OUTPUT|
|INPUT| ____/
___/ ^
| |
----> Local Process ----

                你能够采取  iptables -P OUTPUT ACCEPT 。 这种艺术很简短,但大家有更安全的法门。

端口映射

见上节透西魏理设置

#iptables -t nat -A PREROUTING -i eth0 -p tcp -s 192.168.62.0/24 --dport 80 -j REDIRECT --to-ports 3128

 

作法如下∶

INPUT:入站

a. 首先,当三个包进去的时候,也就是从以太网卡踏入防火墙,内核首先根据路由表决定包的对象。
b. 要是目的主机就是本机,则如上海体育场地直接进入INPUT链,再由地点正在等候该包的长河接收,结束。
c. 不然,假使从以太网卡进来的包指标不是本机,再看是或不是基本允许转载包(可用echo 1> /proc/sys/net/ipv4/ip_forward 张开转载功效)要是不允许转载,则包被DROP掉,倘若允许转载,则送出本机,截至。那当中决不经过INPUT或然OUTPUT链,因为路由后的对象不是本机,只被转载法规应用
d. 最终,该linux防火墙主机本身能够发生包,这种包只经过OUTPUT链出去。

                iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

通过NAT上网

  • ### 典型NAT上网

相似做为NAT的Computer同有的时候间也是局域网的网关,假定该机有两块网卡eth0、eth1,eth0连接外网,IP为202.96.134.134;eth1连接局域网,IP为192.168.62.10

  1. 先在基本里张开ip转载成效

#echo 1 > /proc/sys/net/ipv4/ip_forward

2.?使局域网客户能访谈internet所要做的nat

#iptables -t nat -A POSTROUTING -p tcp -o eth0 -j SNAT --to?202.96.134.134

万一上网的IP是动态IP,则使用以下法规:

#iptables -t nat -A POSTROUTING -o eth0 -s 192.168.62.0/24 -j MASQUERADE

若果是透过ADSL上网,且公网IP是动态IP,则运用以下法则:

#iptables -t nat -A POSTROUTING -o ppp0 -s 192.168.62.0/24 -j MASQUERADE

  1. 使internet用户能够访谈局域网内web主机所要做的nat

#iptables -t nat -A PREROUTING -p tcp -d 202.96.134.134 --dport 80 -j DNAT --to-destination 192.168.62.10

注:局域网内的客商端需将私下认可网关、DNS设为防火墙的IP

  • ### 在大家的互连网机房达成NAT共享上网

行事条件:上层代理192.168.60.6(4480),只授予教师机(192.168.62.111)使用该代理的权柄

目的:不采取squid代理上网,而是使用NAT的措施上网

方法:

1) 确定保证甘休教师机(192.168.62.111)的squid或其它代理服务

2) 客商端网关、DNS均指向192.168.62.111,浏览器代理设置为192.168.60.6(4480)。测量试验在当前情形下能或无法上网

3) 在教授机(192.168.62.111)上增多如下iptables准则:

#iptables -t nat -A POSTROUTING -p tcp -d 192.168.60.6/32 --dport 4480 -j SNAT --to-source 192.168.62.111:10000-30000

分解:对于目标地为192.168.60.6、目标端口为4480的TCP包,在经过防火墙路由后,将其源地址调换为192.168.62.111,端口转换为一千0-三千0间的某些端口。

4) 客商端测量检验能还是不能够上网

iptables -L -n

OUTPUT:出站

注意: echo 1 > /proc/sys/net/ipv4/ip_forward 和 FOWranglerWA冠道D 链的界别

                那一个命令允许任何的答疑通讯通过,只要她是对被允许的对话的回答。

IP准则的保留与回复

iptables-save把法规保存到文件中,再由目录rc.d下的脚本(/etc/rc.d/init.d/iptables)自动装载

运用命令iptables-save来保存准则。一般用

iptables-save > /etc/sysconfig/iptables

转移保存法规的公文 /etc/sysconfig/iptables,

也能够用

service iptables save

它能把准绳自动保存在/etc/sysconfig/iptables中。

当计算机运行时,rc.d下的脚本将用命令iptables-restore调用那些文件,进而就自动还原了平整。

iptablse -t nat -L -n

FORWARD:转发

前者的情趣是是或不是张开内核的转速成效,前者是转载链准绳只有基本张开转载成效,四个包才可能被送到转载链上去逐项检查法规。

                倘使您想设置允许从防火墙发出的数额到远端的syslog服务器(比如:192.168.92.3:514)的syslog通讯量通过,可以行使该命令:

iptables 指令语法

iptables [-t table] command [match] [-j target/jump]

[-t table] 钦命准则表

-t 参数用来,内建的准绳表有四个,分别是:nat、mangle 和 filter,当未钦赐准绳表时,则一律视为是 filter。个法规表的机能如下:

nat:此法规表具有 PREROUTING 和 POSTROUTING 八个准则链,重要意义为扩充一定、一对多、多对多等网站转变专业(SNAT、DNAT),这么些准则表除了作网站转变外,请不要做任何用途。

mangle:此法则表具备 PREROUTING、FOLacrosseWA奥迪Q5D 和 POSTROUTING 八个法则链。除了举行网站变换专门的学问会改写封包外,在有个别特殊应用或然也亟须去改写封包(TTL、TOS)只怕是设定 MASportageK(将封包作记号,以进行三番五次的过滤),那时就非得将那些专门的学问定义在 mangle 准绳表中,由于使用率不高,我们不筹划在此间研讨 mangle 的用法。

filter: 这一个法规表是默许准绳表,具有 INPUT、FOEvoqueWAPRADOD 和 OUTPUT 多少个法则链,这些法规表看名就能够知道意思是用来进展封包过滤的拍卖动作(举个例子:DROP、 LOG、 ACCEPT 或 REJECT),大家会将基本准绳都创建在此准绳表中。

command 常用命令列表:

命令 -A, --append

范例 iptables -A INPUT ...

评释 新增添准则到某些准则链中,该准绳将会形成法规链中的最后一条法则。

命令 -D, --delete

范例 iptables -D INPUT --dport 80 -j DROP iptables -D INPUT 1

表明从某些准绳链中删除一条准则,可以输入完整准则,或直接钦命准则编号加以删除。

命令 -R, --replace

范例 iptables -R INPUT 1 -s 192.168.0.1 -j DROP

证实 代替现行反革命法则,法则被代替后并不会转移各样。

命令 -I, --insert

范例 iptables -I INPUT 1 --dport 80 -j ACCEPT

表达 插入一条法规,原来该岗位上的法则将会现在移动一个顺位。

命令 -L, --list

范例1 iptables -L INPUT 表明 列出某法则链中的有着准绳。

模范2 iptables -t nat -L 表达 列出nat表全部链中的保有条条框框。

命令 -F, --flush

模范 iptables -F INPUT 表达 删除filter表中INPUT链的享有准绳。

命令 -Z, --zero

范例 iptables -Z INPUT 表明将封包计数器归零。封包计数器是用来测算同一封包出现次数,是过滤阻断式攻击不可缺少的工具。

命令 -N, --new-chain

表率 iptables -N allowed 表达 定义新的法规链。

命令 -X, --delete-chain

范例 iptables -X allowed 表明 删除某些法则链。

命令 -P, --policy

范例 iptables -P INPUT DROP 表明 定义过滤政策。 也便是未符合过滤条件之封包, 暗许的处理方式。

命令 -E, --rename-chain

范例 iptables -E allowed disallowed 表明 修改某 自定义准绳链的称号。

[match] 常用封包相配参数

参数 -p, --protocol

范例 iptables -A INPUT -p tcp

证实 匹配通信合同项目是不是符合,能够利用 ! 运算符进行反向相称,

例如: -p !tcp 意思是指除 tcp 以外的其他类型,如udp、icmp ...等。 如若要协作全体项目,则能够利用 all 关键词,比如: -p all

参数 -s, --src, --source

范例 iptables -A INPUT -s 192.168.1.1

表明 用来同盟封包的来自 IP,能够相称单机或网络,匹配网络时请用数字来表示 子网掩码,譬喻: -s 192.168.0.0/24 相称 IP 时能够应用 ! 运算符进行反向相配,譬如:

-s !192.168.0.0/24。

参数 -d, --dst, --destination

范例 iptables -A INPUT -d 192.168.1.1

证实 用来同盟封包的指标地 IP,设定情势同上。

参数 -i, --in-interface

范例 iptables -A INPUT -i eth0

表明 用来相称封包是从哪块网卡进入,能够选拔通配字符 来做大规模相配,

举例: -i eth 表示具备的 ethernet 网卡 也得以选择 ! 运算符进行反向匹配,比方: -i !eth0

参数 -o, --out-interface

范例 iptables -A FORWARD -o eth0

注明 用来相称封包要从哪 块网卡送出,设定格局同上。

参数 --sport, --source-port

范例 iptables -A INPUT -p tcp --sport 22

评释 用来协作封包的源端口,能够匹配单一端口,或是叁个范围,

诸如: --sport 22:80 表示从 22 到 80 端口之间都算是符合条件,假使要合作不总是的多少个端口,则必得利用 --multiport 参数,详见后文。相配端口号时,能够使用 ! 运算符举行反向相配。

参数 --dport, --destination-port

范例 iptables -A INPUT -p tcp --dport 22

表明 用来协作封包的指标地端口号,设定格局同上

参数 --tcp-flags

范例 iptables -p tcp --tcp-flags SYN,FIN,ACK SYN

申明相称 TCP 封包的情事标记,参数分为四个部分,第三个部分列举出想 相称的表明,第二有的则列举前述标记中什么有棉被服装置,未被列举的标记必需是空的。TCP 状态标识包罗:SYN(同步)、ACK(应答)、FIN(截止)、EvoqueST(重设)、UENCOREG(急迫) 、PSH(强迫推送) 等均可利用于参数中,除却还足以行使首要词 ALL 和 NONE 进行匹配。相称标识时,能够动用 ! 运算符行反向匹配。

参数 --syn

范例 iptables -p tcp --syn

表明用来表示TCP通讯公约中,SYN位被张开,而ACK与FIN位关闭的分组,即TCP的初叶连接,与 iptables -p tcp --tcp-flags SYN,FIN,ACK SYN 的作用大同小异,假如利用 !运算符,可用来 匹配非要求连接封包。

参数 -m multiport --source-port

榜样 iptables -A INPUT -p tcp -m multiport --source-port 22,53,80,110 表达用来合作不接二连三的多个源端口,三回最多能够相配 15 个端口,能够利用 ! 运算符实行反向相称。

参数 -m multiport --destination-port

模范 iptables -A INPUT -p tcp -m multiport --destination-port 22,53,80,110 表达用来 相配不总是的三个目标地端口号,设定格局同上

参数 -m multiport --port

范例 iptables -A INPUT -p tcp -m multiport --port 22,53,80,110 表达那个参数相比特殊,用来相配源端口和指标端口号一样的封包,设定格局同上。注意:在本轨范中,若是来源端口号为 80指标地端口号为 110,这种封包并不算符合条件。

参数 --icmp-type

范例 iptables -A INPUT -p icmp --icmp-type 8 表达用来相配 ICMP 的体系编号,能够使用代码或数字编号来进展 匹配。请打 iptables -p icmp --help 来查看有啥代码可用。

参数 -m limit --limit

范例 iptables -A INPUT -m limit --limit 3/hour

表明 用来合营某段时日内封包的平均流量,上边的例子是用来 相称:每小时平均流量是还是不是超越壹遍 3 个封包。 除了每小时平均次外,也得以每分钟、每分钟或每一日平均一遍,默许值为每小时平均三次,参数如后: /second、 /minute、/day。 除了拓宽封 包数量的协作外,设定这一个参数也会在规则达标时,暂停封包的杰出动作,避防止因红客使用湿害攻击法,导致服务被堵嘴。

参数 --limit-burst

范例 iptables -A INPUT -m limit --limit-burst 5

证实 用来协作须臾间大气封包的数目,上边的例证是用来同盟贰回同临时间涌入的封包是还是不是超越5 个(那是暗中认可值),超越此上限的封包将被一贯屏弃。使用效果与利益同上。

参数 -m mac --mac-source

范例 iptables -A INPUT -m mac --mac-source 00:00:00:00:00:01

证实 用来相称封包来源互联网接口的硬件地址,那几个参数不能够用在 OUTPUT 和 POSTROUTING 法则链上,那是因为封包要送到网 卡后,技术由网卡驱动程序透过 ARP 通信契约查出指标地的 MAC 地址,所以 iptables 在展毕节包相配时,并不知道封包会送到哪些网络接口去。

参数 --mark

范例 iptables -t mangle -A INPUT -m mark --mark 1

证实 用来合作封包是不是被代表有些号码,当封包被 相称成功时,大家能够通过 MAWranglerK 管理动作,将该封包标示三个数码,号码最大不得以超过 4294967296。

参数 -m owner --uid-owner

范例 iptables -A OUTPUT -m owner --uid-owner 500

申明用来同盟来自本机的封包,是不是为某一定使用者所发出的,那样能够幸免服务器使用 root 或其余身分将相机行事数据传送出,能够裁减系统被骇的损失。缺憾那些效果无法相配出来自其余主机的封包。

参数 -m owner --gid-owner 范例 iptables -A OUTPUT -m owner --gid-owner 0

评释用来同盟来自本机的封包,是或不是为某一定使用者群组所发出的,使用时机同上。

参数 -m owner --pid-owner 范例 iptables -A OUTPUT -m owner --pid-owner 78

表明 用来合作来自本机的封包,是或不是为某一定进度所发生的,使用机遇同上。

参数 -m owner --sid-owner 范例 iptables -A OUTPUT -m owner --sid-owner 100

证实 用来合作来自本机的封包,是不是为某一定 连接(Session ID)的响应封包,使用时机同上。

参数 -m state --state 范例 iptables -A INPUT -m state --state RELATED,ESTABLISHED

表明 用来合营连接境况, 连接状态共有八种:INVALID、ESTABLISHED、NEW 和 RELATED。 INVALID 代表该封包的接连编号(Session ID)无法辨别或编号不精确。 ESTABLISHED 代表该封包属于某些已经创立的三番五次。 NEW 表示该封包想要起先三个连连(重设连接或将接连重导向)。 RELATED 代表该封包是属于有个别已经创设的连年,所建构的新连接。举个例子:FTP-DATA 连接一定是根源有个别 FTP 连接。

[-j target/jump] 常用的拍卖动作:

-j 参数用来钦定要扩充的拍卖动作,常用的管理动作包罗:ACCEPT、REJECT、DROP、REDIRECT、MASQUERADE、LOG、DNAT、SNAT、MIRubiconRO哈弗、QUEUE、RETURubiconN、MA昂CoraK,分别证实如下:

ACCEPT: 将封包放行,实行完此管理动作后,将不再相配其余准绳,直接跳往下二个准绳链(natostrouting)。

REJECT: 拦阻该封包,并传递封包文告对方,能够传递的封包有多少个选项:ICMP port-unreachable、ICMP echo-reply 或是tcp-reset(这几个封包会须求对方关闭 连接),进行完此管理动作后,将不再相称其余准绳,直接中断过滤程序。 轨范如下: iptables -A FO福特ExplorerWAHighlanderD -p TCP --dport 22 -j REJECT --reject-with tcp-reset

DROP: 放任封包不予管理,进行完此管理动作后,将不再相称别的法规,直接中断过滤程序。

REDIRECT: 将封包重新导向到另一个端口(PNAT),实行完此管理动作后,将会三番五次合营另外准绳。 这么些效应能够用来贯彻透北宋理或用来保险 web 服务器。比如: iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8080

MASQUERADE: 改写封包来源 IP 为防火墙 NIC IP,能够内定 port 对应的限量,进行完此管理动作后,直接跳往下多少个条条框框 链(manglepostrouting)。那几个职能与SNAT 略有分化,当进行 IP 伪装时,不需点名要伪装成哪个 IP,IP会从网卡间接读取,当使用拨 号接连时,IP常常是由ISP公司的DHCP 服务器指派的,那个时候 MASQUERADE 特别有用。模范如下: iptables -t nat -A POSTROUTING -p TCP -j MASQUERADE --to-ports 1024-3一千

LOG: 将封包相关音信纪录在 /var/log 中,详细地方请查阅 /etc/syslog.conf 配置文件,实行完此管理动作后,将会再三再四合作其法规。举个例子: iptables -A INPUT -p tcp -j LOG --log-prefix "INPUT packets"

SNAT: 改写封包来源 IP 为某一定 IP 或 IP 范围,能够钦定 port 对应的范围,实行完此管理动作后,将间接跳往下叁个法则(mangleostrouting)。表率如下: iptables -t nat -A POSTROUTING -p tcp -o eth0 -j SNAT --to-source?194.236.50.155-194.236.50.160:1024-3两千 

DNAT: 改写封包指标地 IP 为某一定 IP 或 IP 范围,可以钦定 port 对应的范围,进行完此管理动作后,将会直接跳往下叁个法规链(filter:input 或 filter:forward)。楷模如下: iptables -t nat -A PREROUTING -p tcp -d 15.45.23.67 --dport 80 -j DNAT --to-destination 192.168.1.1-192.168.1.10:80-100

MI路虎极光RO汉兰达: 镜射封包,也即是他日源 IP 与指标地 IP 对调后,将封包送回,进行完此管理动作后,将会因噎废食过滤程序。

QUEUE: 中断过滤程序,将封包放入队列,交给其余程序管理。通过活动开垦的处理程序,能够张开其余应用,比如:总结连接开销等。

RETULX570N: 截止在脚下法规链中的过滤程序,重回主法规链继续过滤,假若把自定义法规链看成是叁个子顺序,那么这一个动作,就也正是提前结束子程序并重返到主程序中。

MAEnclaveK: 将封包标上有个别代号,以便提供作为接二连三过滤的原则推断依靠,举行完此管理动作后,将会一连协作另外法则。范譬如下: iptables -t mangle -A PREROUTING -p tcp --dport 22 -j MATiggoK --set-mark 2

概念变数

POSTROUTING:路由后转移

比方一台防火墙未有打开前者的IP转发功用,则根防火墙相连的两侧的网络是完全隔开的,假诺是一端连到internet上,则只好通过代办防问internet,不可能由此IP伪装的不二诀要防问。

                iptables -A OUTPUT -p udp -d 192.168.92.3 --dport 514

iptables实例

单个法则实例

iptables -F?

# -F 是清除的意思,功效正是把 FILTRE TABLE 的全数链的准则都清空

iptables -A INPUT -s 172.20.20.1/32 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

#在 FILTERubicon 表的 INPUT 链相配源地址是172.20.20.1的主机,状态分别是NEW,ESTABLISHED,RELATED 的都放行。

iptables -A INPUT -s 172.20.20.1/32 -m state --state NEW,ESTABLISHED -p tcp -m multiport --dport 123,110 -j ACCEPT

# -p 钦赐左券,-m 钦赐模块,multiport模块的职能即是能够连接相配多各不相邻的端口号。完整的情致正是源地址是172.20.20.1的主机,状态分别是NEW, ESTABLISHED,RELATED的,TCP左券,指标端口分别为123 和 110 的数据包都能够通过。

iptables -A INPUT -s 172.20.22.0/24 -m state --state NEW,ESTABLISHED -p tcp -m multiport --dport 123,110 -j ACCEPT

iptables -A INPUT -s 0/0 -m state --state NEW -p tcp -m multiport --dport 123,110 -j DROP

#那句意思为源地址是0/0的 NEW状态的的TCP数据包都禁止访谈小编的123和110端口。

iptables -A INPUT -s ! 172.20.89.0/24 -m state --state NEW -p tcp -m multiport --dport 1230,110 -j DROP # "!"号的意思 取反。就是除了172.20.89.0这一个IP段的地方都DROP。

iptables -ENVISION INPUT 1 -s 192.168.6.99 -p tcp --dport 22 -j ACCEPT 替换INPUT链中的第一条准绳

iptables -t filter -L INPUT -vn 以数字格局详细展现filter表INPUT链的条条框框

 

#-------------------------------NAT IP-------------------------------------- #以下操作是在 NAT TABLE 里面实现的。请大家只顾。

iptables -t nat -F iptables -t nat -A PREROUTING -d 192.168.102.55 -p tcp --dport 90 -j DNAT --to 172.20.11.1:800

#-A PREROUTING 内定在路由前做的。完整的意味是在 NAT TABLE 的路由前管理,目标地为192.168.102.55 的 目标端口为90的大家做DNAT管理,给她转向到172.20.11.1:800这里去。

iptables -t nat -A POSTROUTING -d 172.20.11.1 -j SNAT --to 192.168.102.55

#-A POSTROUTING 路由后。意思为在 NAT TABLE 的路由后管理,凡是目标地为 172.20.11.1 的,大家都给她做SNAT转变,把源地址改写成 192.168.102.55 。

 

iptables -A INPUT -d 192.168.20.0/255.255.255.0 -i eth1 -j DROP iptables -A INPUT -s 192.168.20.0/255.255.255.0 -i eth1 -j DROP iptables -A OUTPUT -d 192.168.20.0/255.255.255.0 -o eth1 -j DROP iptables -A OUTPUT -s 192.168.20.0/255.255.255.0 -o eth1 -j DROP

# 上例中,eth1是七个与表面Internet相连,而192.168.20.0则是中间网的网络号,上述准则用来严防IP欺诈,因为出入eth1的包的ip应该是公家IP

iptables -A INPUT -s 255.255.255.255 -i eth0 -j DROP iptables -A INPUT -s 224.0.0.0/224.0.0.0 -i eth0 -j DROP iptables -A INPUT -d 0.0.0.0 -i eth0 -j DROP

# 幸免广播包从IP代理服务器步向局域网:

iptables -A INPUT -p tcp -m tcp --sport 5000 -j DROP iptables -A INPUT -p udp -m udp --sport 5000 -j DROP iptables -A OUTPUT -p tcp -m tcp --dport 5000 -j DROP iptables -A OUTPUT -p udp -m udp --dport 5000 -j DROP

# 屏蔽端口 4000

iptables -A INPUT -s 211.148.130.129 -i eth1 -p tcp -m tcp --dport 3306 -j DROP iptables -A INPUT -s 192.168.20.0/255.255.255.0 -i eth0 -p tcp -m tcp --dport 3306 -j ACCEPT iptables -A INPUT -s 211.148.130.128/255.255.255.240 -i eth1 -p tcp -m tcp --dport 3306 -j ACCEPT iptables -A INPUT -p tcp -m tcp --dport 3306 -j DROP

# 幸免 Internet 网的客商访谈 MySQL 服务器(便是 3306 端口)

iptables -A FORWARD -p TCP --dport 22 -j REJECT --reject-with tcp-reset

#REJECT, 类似于DROP,但向发送该包的主机回复由--reject-with钦赐的音信,进而能够很好地掩饰防火墙的存在

www的iptables实例

#!/bin/bash

export PATH=/sbin:/usr/sbin:/bin:/usr/bin

#加载相关模块

modprobe iptable_nat modprobe ip_nat_ftp modprobe ip_nat_irc modprobe ip_conntrack modprobe ip_conntrack_ftp modprobe ip_conntrack_irc modprobe ipt_limit

echo 1 >;/proc/sys/net/ipv4/icmp_echo_ignore_broadcasts echo 0 >;/proc/sys/net/ipv4/conf/all/accept_source_route echo 0 >;/proc/sys/net/ipv4/conf/all/accept_redirects echo 1 >;/proc/sys/net/ipv4/icmp_ignore_bogus_error_responses echo 1 >;/proc/sys/net/ipv4/conf/all/log_martians echo 1 >;/proc/sys/net/ipv4/tcp_syncookies

iptables -F

iptables -X

iptables -Z

## 允许地点回路?Loopback - Allow unlimited traffic

iptables -A INPUT -i lo -j ACCEPT

iptables -A OUTPUT -o lo -j ACCEPT

## 防止SYN洪水?SYN-Flooding Protection

iptables -N syn-flood iptables -A INPUT -i ppp0 -p tcp --syn -j syn-flood

iptables -A syn-flood -m limit --limit 1/s --limit-burst 4 -j RETURN iptables -A syn-flood -j DROP

## 确认保障新连接是设置了SYN标识的包?Make sure that new TCP connections are SYN packets
iptables -A INPUT -i eth0 -p tcp ! --syn -m state --state NEW -j DROP

## 允许HTTP的规则

iptables -A INPUT -i ppp0 -p tcp -s 0/0 --sport 80 -m state --state ESTABLISHED,RELATED -j ACCEPT

iptables -A INPUT -i ppp0 -p tcp -s 0/0 --sport 443 -m state --state ESTABLISHED,RELATED -j ACCEPT

iptables -A INPUT -i ppp0 -p tcp -d 0/0 --dport 80 -j ACCEPT iptables -A INPUT -i ppp0 -p tcp -d 0/0 --dport 443 -j ACCEPT

## 允许DNS的规则

iptables -A INPUT -i ppp0 -p udp -s 0/0 --sport 53 -m state --state ESTABLISHED -j ACCEPT iptables -A INPUT -i ppp0 -p udp -d 0/0 --dport 53 -j ACCEPT

## IP包流量限制?IP packets limit

iptables -A INPUT -f -m limit --limit 100/s --limit-burst 100 -j ACCEPT

iptables -A INPUT -i eth0 -p icmp -j DROP

## 允许SSH

iptables -A INPUT -p tcp -s ip1/32 --dport 22 -j ACCEPT

iptables -A INPUT -p tcp -s ip2/32 --dport 22 -j ACCEPT

## 别的情况差异意?Anything else not allowed iptables -A INPUT -i eth0 -j DROP

三个包过滤防火墙实例

环境:redhat9 加载了string time等模块

eth0 接外网──ppp0 eth1 接内网──192.168.0.0/24

#!/bin/sh

# modprobe ipt_MASQUERADE

modprobe ip_conntrack_ftp
modprobe ip_nat_ftp

iptables -F

iptables -t nat -F

iptables -X
iptables -t nat -X
###########################INPUT###################################
iptables -P INPUT DROP

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

iptables -A INPUT -p tcp -m multiport --dports 110,80,25 -j ACCEPT

iptables -A INPUT -p tcp -s 192.168.0.0/24 --dport 139 -j ACCEPT

#同意内网samba,smtp,pop3,连接

iptables -A INPUT -i eth1 -p udp -m multiport --dports 53 -j ACCEPT

#允许dns连接

iptables -A INPUT -p tcp --dport 1723 -j ACCEPT iptables -A INPUT -p gre -j ACCEPT

#同意外网vpn连接
iptables -A INPUT -s 192.186.0.0/24 -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A INPUT -i ppp0 -p tcp --syn -m connlimit --connlimit-above 15 -j DROP

#为了防卫DoS太多连接进来,那么能够允许最多十五个伊始连接,抢先的抛弃
iptables -A INPUT -s 192.186.0.0/24 -p tcp --syn -m connlimit --connlimit-above 15 -j DROP

#为了防御DoS太多连接进来,那么能够允许最多16个开端连接,当先的放弃
iptables -A INPUT -p icmp -m limit --limit 3/s -j LOG --log-level INFO --log-prefix "ICMP packet IN: "

iptables -A INPUT -p icmp -j DROP
#禁止icmp通信-ping 不通

iptables -t nat -A POSTROUTING -o ppp0 -s 192.168.0.0/24 -j MASQUERADE

#内网转载

iptables -N syn-flood iptables -A INPUT -p tcp --syn -j syn-flood

iptables -I syn-flood -p tcp -m limit --limit 3/s --limit-burst 6 -j RETURN iptables -A syn-flood -j REJECT
#防止SYN攻击 轻量 #######################FORWARD###########################
iptables -P FORWARD DROP iptables -A FORWARD -p tcp -s 192.168.0.0/24 -m multiport --dports 80,110,21,25,1723 -j ACCEPT

iptables -A FORWARD -p udp -s 192.168.0.0/24 --dport 53 -j ACCEPT

iptables -A FORWARD -p gre -s 192.168.0.0/24 -j ACCEPT

iptables -A FORWARD -p icmp -s 192.168.0.0/24 -j ACCEPT

#允许 vpn客商走vpn网络连接外网

iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

iptables -I FORWARD -p udp --dport 53 -m string --string "tencent" -m time --timestart 8:15 --timestop 12:30 --days Mon,Tue,Wed,Thu,Fri,Sat -j DROP

#周二到周日的8:00-12:30明确命令禁止qq通讯

iptables -I FORWARD -p udp --dport 53 -m string --string "TENCENT" -m time --timestart 8:15 --timestop 12:30 --days Mon,Tue,Wed,Thu,Fri,Sat -j DROP
#周三到星期日的8:00-12:30明确命令禁止qq通讯

iptables -I FORWARD -p udp --dport 53 -m string --string "tencent" -m time --timestart 13:30 --timestop 20:30 --days Mon,Tue,Wed,Thu,Fri,Sat -j DROP

iptables -I FORWARD -p udp --dport 53 -m string --string "TENCENT" -m time --timestart 13:30 --timestop 20:30 --days Mon,Tue,Wed,Thu,Fri,Sat -j DROP

#周五到星期天的13:30-20:30不准QQ通讯

iptables -I FORWARD -s 192.168.0.0/24 -m string --string "qq.com" -m time --timestart 8:15 --timestop 12:30 --days Mon,Tue,Wed,Thu,Fri,Sat -j DROP
#周三到周天的8:00-12:30取缔qq网页

iptables -I FORWARD -s 192.168.0.0/24 -m string --string "qq.com" -m time --timestart 13:00 --timestop 20:30 --days Mon,Tue,Wed,Thu,Fri,Sat -j DROP

#礼拜三到周末的13:30-20:30禁止QQ网页

iptables -I FORWARD -s 192.168.0.0/24 -m string --string "ay2000.net" -j DROP

iptables -I FOOdysseyWA奥德赛D -d 192.168.0.0/24 -m string --string "宽频影院" -j DROP

iptables -I FORWARD -s 192.168.0.0/24 -m string --string "色情" -j DROP

iptables -I FORWARD -p tcp --sport 80 -m string --string "广告" -j DROP
#禁绝ay三千.net,宽频影院,色情,广告网页连接 !但普通话 不是很精美

iptables -A FORWARD -m ipp2p --edk --kazaa --bit -j DROP

iptables -A FORWARD -p tcp -m ipp2p --ares -j DROP iptables -A FORWARD -p udp -m ipp2p --kazaa -j DROP

#禁止BT连接
iptables -A FORWARD -p tcp --syn --dport 80 -m connlimit --connlimit-above 15 --connlimit-mask 24 -j DROP

#只同意每组ip相同的时候14个80端口转发
#######################################################################
sysctl -w net.ipv4.ip_forward=1 &>/dev/null

#开拓转载
#######################################################################
sysctl -w net.ipv4.tcp_syncookies=1 &>/dev/null

#张开 syncookie (轻量级防止 DOS 攻击) sysctl -w net.ipv4.netfilter.ip_conntrack_tcp_timeout_established=3800 &>/dev/null
#安装默许 TCP 连接脑梗塞时间长度为 3800 秒(此选项能够大大收缩连接数)

sysctl -w net.ipv4.ip_conntrack_max=300000 &>/dev/null

#设置帮忙最大连接树为 30W(那么些依据你的内部存款和储蓄器和 iptables 版本来,每一种connection 须要 300 两个字节)
#######################################################################
iptables -I INPUT -s 192.168.0.50 -j ACCEPT iptables -I FORWARD -s 192.168.0.50 -j ACCEPT #192.168.0.50是自家的电话机,全部放行!

squid iptables

[原创] squid iptables实现网关防火墙 作者:jackylau 公布于:二〇〇六-05-27 10:40:01 【揭橥商议】【查看原著】【Proxy服务器斟酌区】【关闭】

须求表明:此服务器用作网关、MAIL(开启web、smtp、pop3)、FTP、DHCP服务器,内部一台机械(192.168.0.254)对外提供dns服务,为了不让无意者轻松看出此服务器开启了ssh服务器,故把ssh端口改为2018.另把proxy的端口改为60080

eth0:218.28.20.253,外网口

eth1:192.168.0.1/24,内网口

[jackylau@proxyserver init.d]$cat /etc/squid/squid.conf(部份如下)

http_port 192.168.0.1:60080

httpd_accel_port 80

httpd_accel_host virtual

httpd_accel_with_proxy on

httpd_accel_uses_host_header on acl allow_lan src 192.168.0.0/24

http_access allow allow_lan visible_hostname proxyserver

[jackylau@proxyserver init.d]$ cat firewall #!/bin/sh # Author: jackylau <squidipt@yahoo.com.cn>; # chkconfig: 2345 08 92 # description: firewall # Time on 2005.08.02

# killproc # Set ENV INET_IP="218.28.20.253" INET_IFACE="eth0" LAN_IP="192.168.0.1" LAN_IP_RANGE="192.168.0.0/24" LAN_BROADCAST_ADDRESS="192.168.0.255" LAN_IFACE="eth1" LO_IFACE="lo" LO_IP="127.0.0.1" IPTABLES="/sbin/iptables"

start(){ echo -n $"Starting firewall:" /sbin/depmod -a /sbin/modprobe ip_tables /sbin/modprobe ip_conntrack /sbin/modprobe iptable_filter /sbin/modprobe iptable_mangle /sbin/modprobe iptable_nat /sbin/modprobe ipt_LOG /sbin/modprobe ipt_limit /sbin/modprobe ipt_state

echo "1" >; /proc/sys/net/ipv4/ip_forward

# Set policies $IPTABLES -P INPUT DROP $IPTABLES -P OUTPUT DROP $IPTABLES -P FORWARD DROP

# Add bad_tcp_packets, allowed and icmp_packets $IPTABLES -N bad_tcp_packets $IPTABLES -N tcp_packets $IPTABLES -N udp_packets $IPTABLES -N allowed $IPTABLES -N icmp_packets

# bad_tcp_packets $IPTABLES -A bad_tcp_packets -p tcp ! --syn -m state --state NEW -j LOG --log-level INFO --log-prefix "New not syn:" $IPTABLES -A bad_tcp_packets -p TCP ! --syn -m state --state NEW -j DROP

# allowed $IPTABLES -A allowed -p TCP --syn -j ACCEPT $IPTABLES -A allowed -p TCP -m state --state ESTABLISHED,RELATED -j ACCEPT $IPTABLES -A allowed -p TCP -j DROP

$IPTABLES -A INPUT -p ALL -i $LAN_IFACE -d $LAN_BROADCAST_ADDRESS -j ACCEPT

# TCP rules $IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 20 -j allowed $IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 21 -j allowed $IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 25 -j allowed $IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 80 -j allowed $IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 110 -j allowed $IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 2018 -j allowed

# UDP rules $IPTABLES -A udp_packets -p UDP -s 0/0 --destination-port 67 -j ACCEPT

# ICMP rules $IPTABLES -A icmp_packets -p ICMP -s 0/0 --icmp-type 8 -j ACCEPT $IPTABLES -A icmp_packets -p ICMP -s 0/0 --icmp-type 11 -j ACCEPT

# INPUT chain $IPTABLES -A INPUT -p tcp -j bad_tcp_packets

$IPTABLES -A INPUT -p ALL -i $LAN_IFACE -s $LAN_IP_RANGE -j ACCEPT $IPTABLES -A INPUT -p ALL -i $LO_IFACE -s $LO_IP -j ACCEPT $IPTABLES -A INPUT -p ALL -i $LO_IFACE -s $LAN_IP -j ACCEPT $IPTABLES -A INPUT -p ALL -i $LO_IFACE -s $INET_IP -j ACCEPT $IPTABLES -A INPUT -p ALL -d $INET_IP -m state --state ESTABLISHED,RELATED -j ACCEPT $IPTABLES -A INPUT -p TCP -i $INET_IFACE -j tcp_packets $IPTABLES -A INPUT -p UDP -i $INET_IFACE -j udp_packets $IPTABLES -A INPUT -p ICMP -i $INET_IFACE -j icmp_packets $IPTABLES -A INPUT -m limit --limit 3/minute --limit-burst 3 -j LOG --log-level DEBUG --log-prefix "IPT INPUT packet died: "

# FORWARD chain $IPTABLES -A FORWARD -p tcp -j bad_tcp_packets

$IPTABLES -A FORWARD -i $LAN_IFACE -j ACCEPT $IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT $IPTABLES -A FORWARD -m limit --limit 3/minute --limit-burst 3 -j LOG --log-level DEBUG --log-prefix "IPT FORWARD packet died: "

# OUTPUT chain $IPTABLES -A OUTPUT -p tcp -j bad_tcp_packets

$IPTABLES -A OUTPUT -p ALL -s $LO_IP -j ACCEPT $IPTABLES -A OUTPUT -p ALL -s $LAN_IP -j ACCEPT $IPTABLES -A OUTPUT -p ALL -s $INET_IP -j ACCEPT

$IPTABLES -A OUTPUT -m limit --limit 3/minute --limit-burst 3 -j LOG --log-level DEBUG --log-prefix "IPT OUTPUT packet died: "

# SNAT table $IPTABLES -t nat -A POSTROUTING -o $INET_IFACE -j SNAT --to-source $INET_IP

# DNAT table $IPTABLES -t nat -A PREROUTING -p ! icmp -d $INET_IP -dport 53 -j DNAT --to-destination 192.168.0.254:53

# REDIRECT $IPTABLES -t nat -A PREROUTING -i $LAN_IFACE -p tcp -s $LAN_IP_RANGE --dport 80 -j REDIRECT --to-ports 60080 touch /var/lock/subsys/firewall }

stop(){ echo -n $"Stoping firewall:" echo "0">;/proc/sys/net/ipv4/ip_forward $IPTABLES -P INPUT ACCEPT $IPTABLES -P FORWARD ACCEPT $IPTABLES -P OUTPUT ACCEPT $IPTABLES -t nat -P PREROUTING ACCEPT $IPTABLES -t nat -P POSTROUTING ACCEPT $IPTABLES -t nat -P OUTPUT ACCEPT $IPTABLES -t mangle -P PREROUTING ACCEPT $IPTABLES -t mangle -P OUTPUT ACCEPT $IPTABLES -F $IPTABLES -t nat -F $IPTABLES -t mangle -F $IPTABLES -X $IPTABLES -t nat -X $IPTABLES -t mangle -X rm -f /var/lock/subsys/firewall }

status(){ clear echo "-------------------------------------------------------------------" $IPTABLES -L echo "-------------------------------------------------------------------" $IPTABLES -t nat -L POSTROUTING echo "-------------------------------------------------------------------" $IPTABLES -t nat -L PREROUTING }

case "$1" in start) start ;; stop) stop ;; restart) stop start ;; *) echo "$0 [start|stop|restart|status]" ;; esac cp firewall /etc/init.d/ chmod 700 /etc/init.d/firewall chkconfig --add firewall

rc.firewall脚本代码

澳门新萄京官方网站 6

#!/bin/sh # # rc.firewall - Initial SIMPLE IP Firewall script for Linux 2.4.x and iptables # # Copyright (C) 2001?Oskar Andreasson <bluefluxATkoffeinDOTnet> # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; version 2 of the License. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.?See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program or from the site that you downloaded it # from; if not, write to the Free Software Foundation, Inc., 59 Temple # Place, Suite 330, Boston, MA?02111-1307?USA #

########################################################################### # # 1. 配备选项. #

# # 1.1 Internet 相关变量设置. #

INET_IP="194.236.50.155" INET_IFACE="eth0" INET_BROADCAST="194.236.50.255"

# # 1.1.1 DHCP相关安装 #

# # 1.1.2 PPPoE相关安装 #

# # 1.2 局域网相关变量设置. #

LAN_IP="192.168.0.2" #防火墙连接局域网的IP地址 LAN_IP_RANGE="192.168.0.0/16" #局域网地址 LAN_IFACE="eth1" #防火墙连接局域网的互连网接口

# # 1.3 DMZ 非军事区相关变量设置. #

# # 1.4 本机相关变量设置. #

LO_IFACE="lo" #地面接口名称 LO_IP="127.0.0.1" #本土接口IP 

# # 1.5 IPTables 路线设置. #

IPTABLES="/usr/sbin/iptables"

# # 1.6 别的配置. #

########################################################################### # # 2. 要加载的模块. #

# # 伊始加载的模块 #

/sbin/depmod -a

# # 2.1 需加载的模块 #

/sbin/modprobe ip_tables /sbin/modprobe ip_conntrack /sbin/modprobe iptable_filter /sbin/modprobe iptable_mangle /sbin/modprobe iptable_nat /sbin/modprobe ipt_LOG /sbin/modprobe ipt_limit /sbin/modprobe ipt_state

# # 2.2 不需加载的模块 #

#/sbin/modprobe ipt_owner #/sbin/modprobe ipt_REJECT #/sbin/modprobe ipt_MASQUERADE #/sbin/modprobe ip_conntrack_ftp #/sbin/modprobe ip_conntrack_irc #/sbin/modprobe ip_nat_ftp #/sbin/modprobe ip_nat_irc

########################################################################### # # 3. /proc 设置. #

# # 3.1 需要的proc配置 #

echo "1" > /proc/sys/net/ipv4/ip_forward

# # 3.2 无需的proc配置 #

#echo "1" > /proc/sys/net/ipv4/conf/all/rp_filter #echo "1" > /proc/sys/net/ipv4/conf/all/proxy_arp #echo "1" > /proc/sys/net/ipv4/ip_dynaddr

########################################################################### # # 4. 创制法规. #

###### # 4.1 Filter表 #

# # 4.1.1 构建战略 #

$IPTABLES -P INPUT DROP $IPTABLES -P OUTPUT DROP $IPTABLES -P FORWARD DROP

# # 4.1.2 成立自定义链Create userspecified chains #

# # 为不可靠的tcp承包兴构建自定义链Create chain for bad tcp packets #

$IPTABLES -N bad_tcp_packets

# # 分别为ICMP, TCP 和 UDP钻探建设构造自定义链Create separate chains for ICMP, TCP and UDP to traverse #

$IPTABLES -N allowed $IPTABLES -N tcp_packets $IPTABLES -N udp_澳门新萄京官方网站4内核中新增功能指南,Linux防火墙基础与编写防火墙规则。packets $IPTABLES -N icmp_packets

# # 4.1.3 在自定义链建立准则Create content in userspecified chains #

# # bad_tcp_packets链bad_tcp_packets chain # #那条链包蕴的平整检查步入包(incoming packet)的宁德是不是不正规或有未有任何难题,并举办相应地拍卖。但其实,大家应用它只是为了过滤掉一部分独特的包:未有安装SYN位但又是NEW状态的TCP包,还会有那三个设置了SYN/ACK但也被感到是NEW状态的TCP包。那条链能够用来检查有着恐怕的分歧等的东西

$IPTABLES -A bad_tcp_packets -p tcp --tcp-flags SYN,ACK SYN,ACK -m state --state NEW -j REJECT --reject-with tcp-reset

$IPTABLES -A bad_tcp_packets -p tcp ! --syn -m state --state NEW -j LOG --log-prefix "New not syn:"

$IPTABLES -A bad_tcp_packets -p tcp ! --syn -m state --state NEW -j DROP

# # allowed链?allowed chain #

$IPTABLES -A allowed -p TCP --syn -j ACCEPT $IPTABLES -A allowed -p TCP -m state --state ESTABLISHED,RELATED -j ACCEPT $IPTABLES -A allowed -p TCP -j DROP

# # TCP规则?TCP rules #

$IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 21 -j allowed $IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 22 -j allowed $IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 80 -j allowed $IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 113 -j allowed

# # UDP端口?UDP ports #

#$IPTABLES -A udp_packets -p UDP -s 0/0 --destination-port 53 -j ACCEPT #$IPTABLES -A udp_packets -p UDP -s 0/0 --destination-port 123 -j ACCEPT $IPTABLES -A udp_packets -p UDP -s 0/0 --destination-port 2074 -j ACCEPT $IPTABLES -A udp_packets -p UDP -s 0/0 --destination-port 4000 -j ACCEPT

# # 就算互连网中留存Microsoft网络的话,你会面前碰到内涝同样的播报消息,上面包车型客车命令将阻止这几个广播并在日记中#记录.?In Microsoft Networks you will be swamped by broadcasts. These lines # will prevent them from showing up in the logs. #

#$IPTABLES -A udp_packets -p UDP -i $INET_IFACE -d $INET_BROADCAST --destination-port?135:139 -j DROP

# # 就算有来自己们互联网之外的DHCP必要的话,就能急忙把大家的日记塞满,上边包车型地铁指令If we get DHCP requests from the Outside of our network, our logs will # be swamped as well. This rule will block them from getting logged. #

#$IPTABLES -A udp_packets -p UDP -i $INET_IFACE -d 255.255.255.255 --destination-port 67:68 -j DROP

# #ICMP规则?ICMP rules #

$IPTABLES -A icmp_packets -p ICMP -s 0/0 --icmp-type 8 -j ACCEPT $IPTABLES -A icmp_packets -p ICMP -s 0/0 --icmp-type 11 -j ACCEPT

# # 4.1.4 INPUT链?INPUT chain #

# # 排除不良TCP包?Bad TCP packets we don't want. #

$IPTABLES -A INPUT -p tcp -j bad_tcp_packets

# # 非internet网络部分的条条框框?Rules for special networks not part of the Internet #

$IPTABLES -A INPUT -p ALL -i $LAN_IFACE -s $LAN_IP_RANGE -j ACCEPT $IPTABLES -A INPUT -p ALL -i $LO_IFACE -s $LO_IP -j ACCEPT $IPTABLES -A INPUT -p ALL -i $LO_IFACE -s $LAN_IP -j ACCEPT $IPTABLES -A INPUT -p ALL -i $LO_IFACE -s $INET_IP -j ACCEPT

# # 有关地方DHCP的出格准则?Special rule for DHCP requests from LAN, which are not caught properly # otherwise. #

$IPTABLES -A INPUT -p UDP -i $LAN_IFACE --dport 67 --sport 68 -j ACCEPT

# # 来自因特网的进去包的条条框框 Rules for incoming packets from the internet. #

$IPTABLES -A INPUT -p ALL -d $INET_IP -m state --state ESTABLISHED,RELATED -j ACCEPT $IPTABLES -A INPUT -p TCP -i $INET_IFACE -j tcp_packets $IPTABLES -A INPUT -p UDP -i $INET_IFACE -j udp_packets $IPTABLES -A INPUT -p ICMP -i $INET_IFACE -j icmp_packets

# # 假使防火墙外设有Microsoft网络的话,你会面前碰到受涝一样的多播消息,上边包车型客车授命将放任这一个包,所以日志就不会被那几个事物淹没# 记录If you have a Microsoft Network on the outside of your firewall, you may # also get flooded by Multicasts. We drop them so we do not get flooded by # logs #

#$IPTABLES -A INPUT -i $INET_IFACE -d 224.0.0.0/8 -j DROP

# # 将不满意上述准则的形为古怪的包记录在案 Log weird packets that don't match the above. #

$IPTABLES -A INPUT -m limit --limit 3/minute --limit-burst 3 -j LOG --log-level DEBUG --log-prefix "IPT INPUT packet died: "

# # 4.1.5 FORWARD链?FORWARD chain #

# # 排除不良TCP包?Bad TCP packets we don't want #

$IPTABLES -A FORWARD -p tcp -j bad_tcp_packets

# # 接收想要转载的TCP包?Accept the packets we actually want to forward #

$IPTABLES -A FORWARD -i $LAN_IFACE -j ACCEPT $IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

# # 将不满意上述准绳的形为奇异的包记录在案?Log weird packets that don't match the above. #

$IPTABLES -A FORWARD -m limit --limit 3/minute --limit-burst 3 -j LOG --log-level DEBUG --log-prefix "IPT FORWARD packet died: "

# # 4.1.6?OUTPUT链?OUTPUT chain #

# # 排除不良TCP包?Bad TCP packets we don't want. #

$IPTABLES -A OUTPUT -p tcp -j bad_tcp_packets

# # 决定同意哪个IP包OUTPUT的条条框框?Special OUTPUT rules to decide which IP's to allow. #

$IPTABLES -A OUTPUT -p ALL -s $LO_IP -j ACCEPT $IPTABLES -A OUTPUT -p ALL -s $LAN_IP -j ACCEPT $IPTABLES -A OUTPUT -p ALL -s $INET_IP -j ACCEPT

# # 将不满足上述法则的形为古怪的包记录在案?Log weird packets that don't match the above. #

$IPTABLES -A OUTPUT -m limit --limit 3/minute --limit-burst 3 -j LOG --log-level DEBUG --log-prefix "IPT OUTPUT packet died: "

###### # 4.2 nat表?nat table #

# # 4.2.1 设置政策?Set policies #

# # 4.2.2 创造客户自定义链?Create user specified chains #

#澳门新萄京官方网站4内核中新增功能指南,Linux防火墙基础与编写防火墙规则。 # 4.2.3 在客商自定义链中国建工业总集合团立准绳?Create content in user specified chains #

# # 4.2.4 PREROUTING链?PREROUTING chain #

# # 4.2.5 POSTROUTING链?POSTROUTING chain #

# # 允许简单的IP转载及网络地址转变?Enable simple IP Forwarding and Network Address Translation #

$IPTABLES -t nat -A POSTROUTING -o $INET_IFACE -j SNAT --to-source $INET_IP

# # 4.2.6 OUTPUT链?OUTPUT chain #

###### # 4.3 mangle表?mangle table #

# # 4.3.1 设置政策?Set policies #

# # 4.3.2 创制客户自定义链?Create user specified chains #

# # 4.3.3 在客户自定义链中确立准则?Create content in user specified chains #

# # 4.3.4 PREROUTING链?PREROUTING chain #

# # 4.3.5 INPUT链?INPUT chain #

# # 4.3.6 FORWARD链?FORWARD chain #

# # 4.3.7 OUTPUT链?OUTPUT chain #

# # 4.3.8 POSTROUTING链?POSTROUTING chain #

初始化

IPTABLES -X

IPTABLES -t nat -X

IPTABLES -t mangle -X

iptables -Z 

概念战略(暗许准则)

iptables -P INPUT ACCEPT

iptables -P OUTPUT ACCEPT

iptables -P FORWARD ACCEPT

iptables -A INPUT -i lo -j ACCEPT

iptables -A INPUT -m state --state RELATED -j ACCEPT

FW_IP="163.26.197.8"

PREROUTING:路由前改动

诸有此类,任何三个包只恐怕行使INPUT/OUTPUT/FO凯雷德WA奇骏D中的三个条条框框,这种巨大的精益求精同一时候也大约化了防火墙准绳管理。

                因为该协议是udp探究,何况是单向的对话,无需步向,只是出去。

练习

1. 安装iptables法则,使某几台Computer能访谈本机的web服务,另外Computer不可能访问本机的web服务.

 

 

 

 

 

开荒核心 forward 作用

1)INPUT链:当接接受访谈问防火墙本机地址的数据包(入站),应用此链中的准则。

  1. iptables 是有事态的(stateful)。
  •  
    • 将多少个暗中同意链设为DROP状态

作法如下∶

2)OUTPUT链:当防火墙本机向外发送数据包(出站)时,应用此链中的法则。

有意况的意趣是指假设三个包是对从防火墙原首发出去的包的重整旗鼓,则自动不用检查任何法则就当下允许苏醒包进去并重回给央求者,那样大家毫不安装过多平整定义就可落成应有的效用,在新的基础中利用这种有状态的力量是同理可得地被推荐的,那么怎么样开发并运用这种功用吗?

                之所以放在最终,是因为自己在测量试验时,一运用命令iptables -P INPUT DROP ,作者就无法再拜候服务器了,所以自身就把那不放在最终了。

###-----------------------------------------------------###

3)FOEvoqueWA奔驰G级D链:当接受必要通过防火墙中间转播发送给别的地点的数据包(转载)时,应用此链中的准绳。

大家只要某商户有如下图所示的优异的internet连接方案:

                iptables -P INPUT DROP

# 打开 forward 功能

4)PREROUTING链:在对数据包做路由选用在此以前,应用此链中的法则。

_______
10.0.0.2 | |
|PC | (10.0.0.1)eth1| |eth0(1.2.3.4)
B|___|_ ___________________|防火墙 |---------Internet
(LAN: 10.0.0.0/24) | A |
|_______|

                iptables -P FORWARD DROP

###-----------------------------------------------------###

5)POSTROUTING链:在对数码包做路由选择之后,应用此链中的法则。

可采用下边包车型大巴条条框框集应用iptables的有状态的力量并打开IP伪装成效。

                iptables -P OUTPUT DROP

echo "1" > /proc/sys/net/ipv4/ip_forward

3、准绳表:准绳链的成团

1 modprobe ip_tables
2 echo 1 > /proc/sys/net/ipv4/ip_forward
3 iptables -F INPUT
4 iptables -F FORWARD
5 iptables -F POSTROUTING -t nat
6 iptables -P FORWARD DROP
7 iptables -A FORWARD -s 10.0.0.0/24 -j ACCEPT
8 iptables -A FORWARD -i eth0 -m state --state ESTABLISHED,RELATED -j
ACCEPT
9 iptables -t nat -A POSTROUTING -o eth0 -s 10.0.0.0/24 -j MASQUERADE
10 iptables -A INPUT -p tcp -i eth0 --syn --dport 80 -j ACCEPT
11 iptables -A INPUT -p tcp -i eth0 --syn -j DROP

  •  
    • 封存当前准绳

铲除全数的法规

有4个表:

注: 1. 当使用redhat 的模块化内核时,装入ip_tables模块后,以往的通令将基于须求活动装入须求的模块。别的注意,倘让你装入了ipchains或然ipfwadm模块,则不能够再装入iptables模块,可用rmmod命令移走它 们再装入iptables模块。在redhat下,可用ntsysv移走ipchains和iptables标志重启后运营方面包车型客车命令。
要么归入/etc/rc.d/rc.local中自行运维。

                service iptables save  

一齐初要先祛除全数的平整,重新开头,避防旧有的准绳影响新的设定。作法如下∶

Raw:状态追踪

  1. 其次行张开IP转载功效。
  2. 第三四五行清除INPUT,FO福特ExplorerWA奥德赛D和POSTROUTING键法规
    4. 第六行设置暗中认可转载计谋是DROP,当一个包被转载转则应用但不可能选拔到任何一条中间转播准绳上则使用暗中同意法规。
  3. 第七行转载本网段的机械到任何地方去的包。
    6. 第八行使用了有事态的力量,只假如对从前从防火墙外界接口出去的央浼包的还原,允许。
    ESTABLISHED是指TCP连接,RELATED是指象主动FTP,ICMP ping伏乞等,当回复包达到时,实际上是检查文 件 /proc/net/ip_conntrack看是或不是在里边,要是在表中,则不检讨任何链,包允许通过。
    7. 第九行打开IP伪装技艺,从eth0出去的包被重写源地址后伪装出去,是源地址SNAT的特例。这里要留意的是 -o eth0, 并非 -i eth0,在iptables中,从二个接口出去的包用 -o,进来的包用 -i
    8. 第十行认证要是那台防火墙也是WEB服务器,则允许外界的新确立的诉求且对象端口为80的包能够步入
  4. 第十一行对不是指标端口是80的所求TCP新的三番两次须求包,拒绝进入。
  •  
    • 提示:

###-----------------------------------------------------###

Mangle:设置标志

注: NAT 与 FO奇骏WA昂科威D 链的关系

           

# 清除先前的设定

Nat:地址调换

a. 不管施行其他NAT,对包过滤法则看到的源和指标地址是量体裁衣的源和目标地址,即使在推行IP伪装(DNAT)时 会对包进行地址重写,那一点你能够从文件/proc/net/ip_conntrack中看到。

对链或规则本身进行操作的iptable命令使用大写字母表示:
-A 附加 、-D 删除规则 、-I 插入 、-R 替换 、 -L 列表 、-F 充溢 、-N 新建 、-X 删除链
用于详细说明规则的选项用小写字母:
-s 源地址、-p 协议 、 -d 目的地址 、-j 跳 、 -i 入界面 、 -o 出界面

###-----------------------------------------------------###

Filter:包过滤

b. 假若我们并未有选取iptables的有气象的力量,象下边包车型客车事态,假如允许网段10.0.0.0/第24中学的机器能够IP伪装的话,大家只好加上一条中间转播规则iptables -AFO福特ExplorerWAENCORED -d 10.0.0.0/24 -j ACCEPT,不然对伪装包的重整旗鼓不会由此转载链回复给内部机器,因为回复包必要通过转载链。

  iptables 中的下令,均需区分轻重缓急写。

# 清除预设表 filter 中,全数条条框框链中的条条框框

1)filter表:用来对数码包进行过滤,表内富含多个链,即:INPUT,FOLacrosseWA福特ExplorerD,OUTPUT

注: 怎么样注解然而三个法则链被使用了?

ipchains 和 iptables 在语法上的机要的差距,注意如下∶

iptables -F

2)Nat表:nat表首要用来修改数据包的ip地址、端口号等音讯。包蕴多个链,即PREROUTING,POSTROUTING,OUTPUT

在以前的ipchains中七个包要经过input,forward,output链工夫从防火墙送出到internet,以后接纳iptables,仅仅二个链被应用,你能够参与上面包车型地铁法则测量检验

  1. 在 ipchains 中,诸如 input 链,是行使小写的 chains 名,在 iptables 中,要改用大写 INPUT。

  2. 在 iptables 中,要内定法规是欲功用在那个准绳表上(使用 -t 来钦赐,如 -t nat),若不钦点,则预设是法力在 filter 那一个表。

  3. 在 ipchains 中, -i 是指介面(interface),但在 iptables 中,-i 则是指步向的来头,且多了 -o,代表出来的样子。

  4. 在 iptables 中,来源 port 要接纳首要字 --sport 或 --source-port

  5. 在 iptables 中,指标 port 要选择首要字 --dport 或 --destination-port

  6. 在 iptables 中,"舍弃" 的查办动作,不再使用 DENY 这一个 target,改用 DROP。

  7. 在 ipchains 的记录档功用 -l,已改为对象 -j LOG,并可钦定记录档的题目。

  8. 在 ipchains 中的旗标 -y,在 iptables 中可用 --syn 或 --tcp-flag SYN,ACK,FIN SYN

  9. 在 iptables 中,imcp messages 型态,要加多关键字 --icmp-type,如∶

# 清除预设表 filter 中,使用者自订链中的准绳

3)Mangle表:用来修改数据包的TOS、TTL,大概为数量包设置MA途锐L标志,实现流量整形,计谋路由等高等应用,包涵五个链,PREROUTING,POSTROUTING,INPUT,OUTPUT,FOPRADOWA库罗德D

iptables -A INPUT -s 10.0.0.2/24 -j DROP

iptables -A OUTPUT -o eth0 -p icmp -s $FW_IP --icmp-type 8 -d any/0 -j ACCEPT

iptables -X

4)Raw表:用来支配是不是对数据包进行状态追踪,蕴含七个链:即OUTPUT,PREROUTING

地点的那行在iptables中单独是指别的本网段的机械当目的就是防火墙时被驳回,但毫无影响NAT和转载包,这在在此以前的ipchains中是不或者的。

iptables 使用时的规范

# 清除mangle表中,全体准则链中的条条框框

4、法规的合营顺序:

本文指标 本文首要是追究 Linux 2.4 内核中的iptables 的各个新扩大效率和行使方法,怎么样有效地动用那么些新添的法力设置公司的防火墙法则,...

在设定 iptables 的封包过滤法则时,有几个模范的动作,若先熟谙它们,以往就可机关套用,由此及彼,非常快地,您就能够步向那个小圈子之中。

iptables -F -t mangle

1)法则表的顺序

重点方今的设定

# 清除mangle表中,使用者自订链中的准绳

当数据包达到防火墙时,将相继使用raw表,mangle表,nat表和filter表中对应链内的法则,应用顺序为raw-mangle-nat-filter

作法如下∶

iptables -t mangle -X

按梯次依次检查,相称即截至(LOG计策除了那个之外),无相称项,施行默许计策。

iptables -L -n

# 清除nat表中,全体条条框框链中的平整

2)准绳链之间的各样

iptablse -t nat -L -n

iptables -F -t nat

入站数据流向:来自外部的数据包到达防火墙后,首先被PRETOUTING链管理,然后开展路由选拔,要是数据包的对象地方是防火墙本机,那么内核将其传递给INPUT链进行处理,通过之后再讲给系统的上层应用程序进行响应。

概念变数

# 清除nat表中,使用者自订链中的准则

转发数量流向:来自外部的数据包到达防火墙后,首先被PREROUTING链管理,然后再开展路由采取,假诺数据包的目标地址是其余外界的地点,则基本将其传递给FO凯雷德WARubiconD链实行管理,最后交给POSTROUTING链举行拍卖。

FW_IP="163.26.197.8"

iptables -t nat -X

出站数据流向:防火墙本机向外界地址发送的数据包,首先被OUTOUT管理,然后开展路由精选,再付出POSTROUTING链进行拍卖。

开采大旨 forward 作用

选定预设的国策

3)法则链内部各条防火墙准绳之间的次第

作法如下∶

继之,要选定各类分裂的准绳链,预设的国策缘何。作法如下∶

当数码包经过每条法规链时,依次按第一条规则,第二条法则......的一一进行相称和管理,链内的过滤遵从“相配即甘休”的口径,一旦找到一条相匹配的平整,则不再检查本链内再而三的其他准绳,假若比对完整个链,也找不到与数量包相相配的法规,就根据法则链的默许攻略进行拍卖。

###-----------------------------------------------------###

预设全体抛弃∶

5、iptables语法:

# 打开 forward 功能

###-----------------------------------------------------###

Iptables  -t  表名  命令选项  链名  条件采纳  -j  调节项目

###-----------------------------------------------------###

# 设定 filter table 的预设政策

1)不钦命表名,为filter表

echo "1" > /proc/sys/net/ipv4/ip_forward

###-----------------------------------------------------###

2)命令选项、链名、调整项目必得大写,其余必得小写

免除全数的条条框框

iptables -P INPUT DROP

3)条件接纳能够设置多项

一齐初要先去掉全体的条条框框,重新起头,以防旧有的法规影响新的设定。作法如下∶

iptables -P OUTPUT DROP

6、调控项目:

###-----------------------------------------------------###

iptables -P FORWARD DROP

1)ACCEPT:允许

# 清除先前的设定

要么预设全体接受∶

2)REJECT:拒绝,重临消息

###-----------------------------------------------------###

###-----------------------------------------------------###

3)DROP:丢弃,无信息

# 清除预设表 filter 中,全数法规链中的条条框框

# 设定 filter table 的预设政策

4)LOG:记录日志,传给下一条法规

iptables -F

###-----------------------------------------------------###

5)SNAT:源地址转换

# 清除预设表 filter 中,使用者自订链中的准则

iptables -P INPUT ACCEPT

6)DNAT:指标地点转变

iptables -X

iptables -P OUTPUT ACCEPT

7)MASQUERADE:ip伪装,源地址调换

# 清除mangle表中,全数法则链中的平整

iptables -P FORWARD ACCEPT

8)REDIRECT:重定向

iptables -F -t mangle

各样准则链的预设政策可独立的设定,不必受其余链的熏陶。

7、命令选项:

# 清除mangle表中,使用者自订链中的法规

以下演习,若指标为 DROP,则 policy 请设为 ACCEPT;若指标为 ACCEPT,则 policy 请设为 DROP,如此能够看出效果。

-A:追加到结尾

iptables -t mangle -X

盛放某一个介面

-I:插入(暗中认可插入到第一条)

# 清除nat表中,全数法则链中的条条框框

作法如下∶

-L:查看

iptables -F -t nat

iptables -A INPUT -i lo -j ACCEPT

-D:删除(必须加序号)

# 清除nat表中,使用者自订链中的法规

iptables -A OUTPUT -o lo -j ACCEPT

-F:清空,但暗中认可计谋不清空

iptables -t nat -X

注∶IPFW 或 Netfilter 的封包流向,local process 不会透过 FOTiguanWARAV4D Chain,

-P:默许战略,独有ACCEPT或DROP二种

选定预设的宗旨

因此 lo 只在 INPUT 及 OUTPUT 二个 chain 作用。

-R:替换

随即,要选定种种区别的法则链,预设的国策缘何。作法如下∶

iptables -A INPUT -i eth1 -j ACCEPT

-X:删除自定义链

预设全部舍弃∶

iptables -A OUTPUT -o eth1 -j ACCEPT

-N:新建自定义链

###-----------------------------------------------------###

iptables -A FORWARD -i eth1 -j ACCEPT

-n:以数字艺术体现

# 设定 filter table 的预设政策

iptables -A FORWARD -o eth1 -j ACCEPT

--line-number:增添序号

###-----------------------------------------------------###

IP 伪装

8、条件选用:

iptables -P INPUT DROP

使个中网路的封包经过伪装之后,使用对外的 eth0 网卡当作代表号,对外连线。作法如下∶

1)通用相配:不借助于于其余条件可间接行使

iptables -P OUTPUT DROP

###-----------------------------------------------------###

-s:源地址             -d:指标地方

iptables -P FORWARD DROP

# 运维内部对外转址

-p:协议                 -i:入口

依然预设全体承受∶

###-----------------------------------------------------###

-o:出口               !:取反

###-----------------------------------------------------###

iptables -t nat -A POSTROUTING -o eth0 -s 172.16.0.0/16 -j SNAT --to-source $FW_IP

2)隐含相配:依赖钦命的说道

# 设定 filter table 的预设政策

上述指令意指∶把 172.16.0.0/16 这么些网段,伪装成 $FW_IP 出去。

--sport:源端口          --dport:指标端口

###-----------------------------------------------------###

澳门新萄京官方网站 7

--tcp—flags:TCP标记

iptables -P INPUT ACCEPT

--icmp-type:icmp类型,有两种:

iptables -P OUTPUT ACCEPT

Echo-request(可用8代替)      请求

iptables -P FORWARD ACCEPT

Echo-reply(可用0代替)        回应

逐一准绳链的预设政策可自主的设定,不必受别的链的影响。

翻开转载功效:

以下练习,若目的为 DROP,则 policy 请设为 ACCEPT;若指标为 ACCEPT,则 policy 请设为 DROP,如此能够看出效果。

千古有效:vim  /etc/sysctl.conf

盛开某多个介面

         Net.ipv4.ip_forward=1

作法如下∶

生效:sysctl  -p

iptables -A INPUT -i lo -j ACCEPT

临时转会,马上生效

iptables -A OUTPUT -o lo -j ACCEPT

Sysctl  -w net.ipv4.ip_forward=1

注∶IPFW 或 Netfilter 的封包流向,local process 不会经过 FORAV4WA大切诺基D Chain,

Echo “1”  > /proc/sys/net/ipv4/ip_forward

因此 lo 只在 INPUT 及 OUTPUT 二个 chain 作用。

3)展现配置:信赖于钦点的功效模块,必得掌握钦点模块名称才足以动用

iptables -A INPUT -i eth1 -j ACCEPT

多端口相称:-m  multiport --sports   源端口列表

iptables -A OUTPUT -o eth1 -j ACCEPT

                      -m  multiport  --dports  指标端口列表

iptables -A FORWARD -i eth1 -j ACCEPT

IP范围匹配:-m  iprange --src-range  ip范围

iptables -A FORWARD -o eth1 -j ACCEPT

MAC地址相称:-m  mac  --mac-source MAC地址

IP 伪装

动静相当:-m  state --state   连接意况

使内部网路的封包经过伪装之后,使用对外的 eth0 网卡当作代表号,对外连线。作法如下∶

 

###-----------------------------------------------------###

linux编写iptables防火墙准则示例

        iptables和asa防火墙类似,功能同样,皆以为了保障互连网安全,系统安全,服务器的平安,和asa同样也急需树立政策。

上面通过八个案例先了然一下iptables防火墙准则的连锁基础操作。(关于防火墙的相关文化概念,请关注微信徒人号 L婴孩聊IT  Linux防火墙基础与编辑防火墙规则作品)

实验景况:

网址服务器ip地址是192.168.1.5,网关服务器的内网地址是eth0:192.168.1.254,外网地址是eth1:172.16.16.254,internter测量试验机是172.16.16.172。达成三台系统之间能够并行ping通。

 澳门新萄京官方网站 8

澳门新萄京官方网站 9

网管服务器须求开启路由转载功效

 澳门新萄京官方网站 10

也可步入vim /etc/sysctl.conf 修改为 1 恒久开启路由转载作用

澳门新萄京官方网站 11

最后测量试验能够相互ping通就能够

下边介绍各样条条框框怎么样运用

一、编写防火墙准绳

1、比方:在网站服务器的filter表的INPUT链中插入一条准则,拒绝发送给本机使用的ICMP左券的数据包。

执行:Iptables -t  filter  -I INPUT -p icmp  -j REJECT

翻看准绳:iptables -L INPUT --line-numbers

 澳门新萄京官方网站 12

然后重新行使172.16.16.172ping192.168.1.5,出现目的端口不可到达,十分的小概ping通

2、增多新的法则

例如:

1)在filter表INPUT链的最后增加一条法则,接受tcp左券(实验在此以前在网址服务器上搭建ftp服务,使用internet测验机能够访谈ftp服务器)

澳门新萄京官方网站 13

在internet测量检验机上访谈

澳门新萄京官方网站 14

暗许网址服务器的防火墙开启,所以不可能访谈,然后实行:

iptables -t   filter  -A INPUT  -p  tcp  -j   ACCEPT

意识依旧不可能访谈,因为-A是在结尾加多一条新的准绳

澳门新萄京官方网站 15

之所以进行:Iptables  -I  INPUT  -p tcp  -j  ACCEPT(-I暗许是加多在第一条)

澳门新萄京官方网站 16

重新做客ftp

澳门新萄京官方网站 17

在网址服务器上查看准绳

澳门新萄京官方网站 18

例:2)增多法规允许udp数据包通过,默许位于filter的率先条

Iptables -I INPUT  -p  udp -j  ACCEPT

例:3)钦点顺序号,加多准绳允许icmp数据包通过,位于第2条

Iptables -I INPUT 2 -p icmp  -j  ACCEPT

澳门新萄京官方网站 19

查理念则列表:

澳门新萄京官方网站 20

3、以数字格局显得法则列表,加速实行进程

Iptables -n  -L  INPUT  (-n  -L  可简写为-nL)

4、删除,清空法规

1)若要删除filter表INPUT链中的第三条准绳,试行:

Iptables -D  INPUT 3

2)清空钦定链或表中的具备防火墙法则,使用-F

Iptables -F  INPUT

3)清空filter表,nat表,mangle表

Iptables   -F

Iptables   -t   nat   -F

Iptables   -t   mangle  -F

5、设置私下认可战术:当找不到其它一条能够兼容数据包准绳时,则试行暗中同意计谋

举个例子说1)将filter表中FOENVISIONWARD链的默许计策设置为遗弃,OUTPUT链的暗许计谋设置为允许(私下认可战略不参与法则的次第编排,因而在左右并一点差异也未有。)

澳门新萄京官方网站 21

二、法则的十分原则

对于同样条防火墙准则,能够钦定八个地位非常原则,这一个标准必得都满意法则技艺奏效。

1、通用相配:分为三体系型,左券相称,地址相称,网络接口相配。

1)左券相配

一经在网关服务器上开启防火墙,那么internet测量试验机是不能够访问网址服务器的。

查阅网关服务器的FOHighlanderWA哈弗D链,开采独有一条拒绝all。

假诺想同意路由转发,奉行上面包车型大巴一声令下:

iptables -I  FOEnclaveWA奥德赛D  -j  ACCEPT,然后在internet测量试验机上能够访问网址服务器。

澳门新萄京官方网站 22

然后一旦想扬弃通过icmp合同访谈防火墙本机的数据包,允许转发经过防火墙的除icmp契约之外的数据包,能够举行:

Iptables -I  INPUT  -p  icmp -j  DROP

Iptables -A  FORWARD  !  -p  icmp -j  ACCEPT

 

推行在此之前先在internet测量试验机上ping网关服务器的172.16.16.254和192.168.1.5都是能够ping通的。实践完事后就不能够ping通了,不过还能够访谈网址服务器的ftp。

先在internet测量检验机上ping,能够ping通

澳门新萄京官方网站 23

下一场在网关服务器上执行以下命令

澳门新萄京官方网站 24

在internet测验机上ping192.168.1.5和172.16.16.254都打断了,可是ftp照旧得以访谈。

澳门新萄京官方网站 25

2)地址相称

例1)举个例子:拒绝转载源地址为172.16.16.172的数量,允许转载源地址192.168.1.0的数据包

澳门新萄京官方网站 26

因为172.16.16.172正是internet测验机,所以internet测量试验机不能够ping通192.168.1.5,也不可能访谈ftp

 

例2)即便检查评定到来自某网段的反复扫描,登陆等不良的绸缪,能够立刻增添防火墙法则进行封锁。

Iptables  -I  INPUT  -s 10.20.30.0/24  -j  DROP

Iptables  -I  FORWARD  -s  10.20.30.0/24  -j  DROP

澳门新萄京官方网站 27

3)网络接口相称

诸如:若要丢掉从外网接口访谈防火墙本机且源地址为民用地址的数据包,实施以下操作:

第一:在172.16.16.172上ping172.16.16.254,使之可以ping通

澳门新萄京官方网站 28

接下来施行以下命令:

澳门新萄京官方网站 29

再此在172.16.16.172上ping172.16.16.254,不可能ping通,因为外网接口是eth1

 

2、隐含相配:以钦点的公约相配作为前提条件,相当于子条件。

1)端口相配

诸如:允许网段192.168.1.0/24转载dns查询数据包。

第一在网址服务器上开启dns服务

vim  /var/named/chroot/var/named/google.com.zone

澳门新萄京官方网站 30

为了尝试效果,先在网关服务器上实施以下命令,阻止转账

Iptables -I  FORWARD  -j  REJECT

下一场在internet测验机上执行nslookup,无法深入分析

澳门新萄京官方网站 31

接下去在网关服务器上实行隐含相称,允许为172.16.16.0网段转载dns查询包

澳门新萄京官方网站 32

再度在internet测验机上测量试验解析

澳门新萄京官方网站 33

2)ICMP类型相称

若要禁止从任何主机ping本机,不过允许本机ping别的主机,能够施行以下操作

首先为了试验测量试验方便,在网关服务器上实施:(施行在此以前把其他的法规都删掉,关闭防火墙就能够编写法规后会自动张开)

nternet测量检验机和网址服务器之间能够相互ping通,然后实践:

澳门新萄京官方网站 34

假如实验不通,把地点的最后一条改为iptables -A INPUT -p icmp-j DROP

下一场测验:

澳门新萄京官方网站 35

澳门新萄京官方网站 36

3、展现相配

必得调用相应的模块,然后能够设置相称原则

1)多端口相称

举例:允许网址服务器本机开放25、80、110、143端口

澳门新萄京官方网站 37

2)ip范围相配

举个例子说:禁止转发源地址位于192.168.4.21与192.168.4.28以内的tcp数据包。

澳门新萄京官方网站 38

3)mac地址相称

比方说:禁止以下mac地址的主机访问网址服务器的任何利用。

澳门新萄京官方网站 39

4)状态十二分

比如说:禁止转会与健康tcp连接非亲非故的非syn央求数据包(如贩卖伪劣产品的互联网攻击数据包)。

澳门新萄京官方网站 40

再比方:开放本机的web服务80端口,但对发给本机的tcp应答数据包予以放行,别的入站数据包均屏弃,对应的入站法规如下:

澳门新萄京官方网站 41

上述就时iptables防火墙准绳的宗旨采纳,上边时上机实验部分:

三、上机实验

1、实验情状和地点的平等

网址服务器ip地址是192.168.1.5,网关服务器的内网地址是eth0:192.168.1.254,外网地址是eth1:172.16.16.254,internter测量检验机是172.16.16.172。完成三台系统里面能够互相ping通。

2、为网址服务器编写入站法则

(1)本例中全数法则均在filter表的INPUT链内增进,私下认可计谋设置为DROP。

(2)使用“-p icmp ! --icmp-type 8 ”的标准匹配非ICMP央浼的数据包。

(3)使用“-p tcp --dport 80”的尺度特别对TCP 80端口的拜谒。

(4)使用“-p tcp -m state --stateESTABLISHED,RELATED”相称TCP响应数据包。

 

[root@localhost ~]# iptables -P INPUT DROP

[root@localhost ~]# iptables -A INPUT -p icmp !--icmp-type 8 -j ACCEPT

[root@localhost ~]# iptables -A INPUT -p tcp--dport 80 -j ACCEPT

[root@localhost ~]# iptables -A INPUT -p tcp -mstate --state ESTABLISHED,RELATED -j ACCEPT

 

(5)测验入站决定机能:从任何主机能够访问本机中的Web服务,但不可能访谈其余任何服务(如FTP、DNS);从本机能够ping通其余主机,但其他主机无法ping通本机。

 

[root@localhost ~]# iptables -nL INPUT

Chain INPUT (policy ACCEPT)

target   prot opt source           destination

ACCEPT   icmp --  0.0.0.0/0         0.0.0.0/0    icmp !type 8

ACCEPT   tcp  --  0.0.0.0/0         0.0.0.0/0    tcp dpt:80

ACCEPT   tcp  --  0.0.0.0/0         0.0.0.0/0    state RELATED,ESTABLISHED

…… //其余测验进程略

 

3、为网关服务器编写转载准绳

(1)本例中具备准绳均在filter表的FOSportageWAENCORED链内增加,暗许战术设置为DROP。

(2)针对TCP合同的80、20、21、25、110、143端口,以及UDP共同商议的53端口,分别为从局域网访谈Internet、从Internet响应局域网须求的历程编写转载法规。

 

[root@localhost ~]# iptables -P FORWARD DROP

[root@localhost ~]# iptables -A FORWARD -s192.168.1.0/24 -p tcp -m multiport --dport 20,21,

80,25,110,143 -o eth1 -j ACCEPT

[root@localhost ~]# iptables -A FORWARD -i eth1-m state --state ESTABLISHED,RELATED -j ACCEPT

[root@localhost ~]# iptables -A FORWARD -s192.168.1.0/24 -p udp --dport 53 -oeth1 -j ACCEPT

[root@localhost ~]# iptables -A FORWARD -p udp--sport 53 -i eth1-j ACCEPT

 

(3)推行DNS查询,获知站点web.qq.com、w.qq.com、im.qq.com当前所用的IP地址包涵:112.90.141.88、112.90.141.163、112.90.141.164、58.251.149.159、58.251.60.202、123.138.238.100、123.138.238.101。然后千家万户针对那么些IP地址编写转载法则,禁止到TCP左券的80、443端口的会见。

 

[root@localhost ~]# vi /opt/black_ip.txt            //编写封禁地址列表

112.90.141.88

112.90.141.163

112.90.141.164

58.251.149.159

58.251.60.202

123.138.238.100

123.138.238.101

[root@localhost ~]# for i in `cat/opt/black_ip.txt`; do iptables -I FO途达WA路虎极光D -d$i -p tcp -m multiport --dport 80,443 -j DROP ; done  //读取IP地址以插入法则

 

(4)测量试验转向调整作用:从局域网中的主机无法访谈Internet中的web.qq.com等被封站点,但亦可访谈其余Web站点,也能够访问DNS、FTP等互联网服务。

 

[root@localhost ~]# iptables -nL FORWARD

Chain FORWARD (policy DROP)

target  prot opt source        destination

DROP    tcp  --  0.0.0.0/0     123.138.238.101     multiportdports 80,443

DROP   tcp  --  0.0.0.0/0     123.138.238.100     multiport dports80,443

DROP   tcp  --  0.0.0.0/0    58.251.60.202       multiport dports80,443

DROP    tcp  --  0.0.0.0/0   58.251.149.159      multiport dports80,443

DROP    tcp  --  0.0.0.0/0     112.90.141.164      multiport dports80,443

DROP    tcp  --  0.0.0.0/0     112.90.141.163      multiport dports80,443

DROP   tcp  --  0.0.0.0/0     112.90.141.88       multiport dports

 

文章参谋微信徒人号:L婴孩聊IT

# 运营内部对外转址

###-----------------------------------------------------###

iptables -t nat -A POSTROUTING -o eth0 -s 172.16.0.0/16 -j SNAT --to-source $FW_IP

上述指令意指∶把 172.16.0.0/16 这一个网段,伪装成 $FW_IP 出去。

虚构主机

运用转址、转 port 的不二秘籍,使表面网路的封包,能够达到内部网路中的伺服主机,俗称虚构主机。这种艺术可保障伺服主机大部份的 port 不被外部存取,只开花公开服务的大路(如 Web Server port 80),由此安全性甚高。

作法如下∶

###-----------------------------------------------------###

# 启动外界对里面转址

###-----------------------------------------------------###

# 凡对 $FW_IP:80 连线者, 则转址至 172.16.255.2:80

iptables -t nat -A PREROUTING -i eth0 -p tcp -d $FW_IP --dport 80 -j DNAT --to-destination 172.16.255.2:80

吐放内部主机能够 telnet 至外界的主机

怒放内部网路,能够 telnet 至外界主机。

作法如下∶(预设 policy 为 DROP)

###-----------------------------------------------------###

# open 外界主机 telnet port 23

###-----------------------------------------------------###

iptables -A OUTPUT -o eth0 -p tcp -s $FW_IP --sport 1024:65535 -d any/0 --dport 23 -j ACCEPT

iptables -A INPUT -i eth0 -p tcp ! --syn -s any/0 --sport 23 -d $FW_IP --dport 1024:65535 -j ACCEPT

绽放邮包转递通道

怒放自由的邮件主机送信包给你的 Mail Server,而你的 Mail Server 也得以送信包过去。

作法如下∶(预设 policy 为 DROP)

###-----------------------------------------------------###

# open SMTP port 25

###-----------------------------------------------------###

# 以下是∶旁人能够送信给你

iptables -A INPUT -i eth0 -p tcp -s any/0 --sport 1024:65535 -d $FW_IP --dport 25 -j ACCEPT

iptables -A OUTPUT -o eth0 -p tcp ! --syn -s $FW_IP --sport 25 -d any/0 --dport 1024:65535 -j ACCEPT

# 以下是∶你可以送信给外人

iptables -A OUTPUT -o eth0 -p tcp -s $FW_IP --sport 1024:65535 -d any/0 --dport 25 -j ACCEPT

iptables -A INPUT -i eth0 -p tcp ! --syn -s any/0 --sport 25 -d $FW_IP --dport 1024:65525 -j ACCEPT

怒放对外离线下载信件的大路

盛开内部网路能够对表面网路的 POP3 server 取信件。

作法如下∶(预设 policy 为 DROP)

###-----------------------------------------------------###

# open 对表面主机的 POP3 port 110

###-----------------------------------------------------###

iptables -A OUTPUT -o eth0 -p tcp -s $FW_IP --sport 1024:65535 -d any/0 --dport 110 -j ACCEPT

iptables -A INPUT -i eth0 -p tcp ! --syn -s any/0 --sport 110 -d $FW_IP --dport 1024:65535 -j ACCEPT

怒放观看网页的大路

盛开内部网路能够观察外界网路的网址。

作法如下∶(预设 policy 为 DROP)

###-----------------------------------------------------###

# open 对表面主机的 HTTP port 80

###-----------------------------------------------------###

iptables -A OUTPUT -o eth0 -p tcp -s $FW_IP --sport 1024:65535 -d any/0 --dport 80 -j ACCEPT

iptables -A INPUT -i eth0 -p tcp ! --syn -s any/0 --sport 80 -d $FW_IP --dport 1024:65535 -j ACCEPT

绽开查询外界网路的 DNS 主机

盛放内部网路,能够查询外界网路任何一台 DNS 主机。

作法如下∶(预设 policy 为 DROP)

###-----------------------------------------------------###

# open DNS port 53

###-----------------------------------------------------###

# 第一遍会用 udp 封包来询问

iptables -A OUTPUT -o eth0 -p udp -s $FW_IP --sport 1024:65535 -d any/0 --dport 53 -j ACCEPT

iptables -A INPUT -i eth0 -p udp -s any/0 --sport 53 -d $FW_IP --dport 1024:65535 -j ACCEPT

# 若有荒唐,会改用 tcp 封包来查询

iptables -A OUTPUT -o eth0 -p tcp -s $FW_IP --sport 1024:65535 -d any/0 --dport 53 -j ACCEPT

iptables -A INPUT -i eth0 -p tcp ! --syn -s any/0 --sport 53 -d $FW_IP --dport 1024:65535 -j ACCEPT

# 开放那台主机上的 DNS 和外界的 DNS 主机互动查询∶使用 udp

iptables -A OUTPUT -o eth0 -p udp -s $FW_IP --sport 53 -d any/0 --dport 53 -j ACCEPT

iptables -A INPUT -i eth0 -p udp -s any/0 --sport 53 -d $FW_IP --dport 53 -j ACCEPT

# 开放那台主机上的 DNS 和表面包车型大巴 DNS 主机互动查询∶使用 tcp

iptables -A OUTPUT -o eth0 -p tcp -s $FW_IP --sport 53 -d any/0 --dport 53 -j ACCEPT

iptables -A INPUT -i eth0 -p tcp ! -y -s any/0 --sport 53 -d $FW_IP --dport 53 -j ACCEPT

盛放内部主机能够 ssh 至外界的主机

盛开内部网路,能够 ssh 至外界主机。

作法如下∶(预设 policy 为 DROP)

###-----------------------------------------------------###

# open 外界主机 ssh port 22

###-----------------------------------------------------###

iptables -A OUTPUT -o eth0 -p tcp -s $FW_IP --sport 1024:65535 -d any/0 --dport 22 -j ACCEPT

iptables -A INPUT -i eth0 -p tcp ! --syn -s any/0 --sport 22 -d $FW_IP --dport 1024:65535 -j ACCEPT

# 以下是 ssh protocol 比较不相同的地点

iptables -A OUTPUT -o eth0 -p tcp -s $FW_IP --sport 1020:1023 -d any/0 --dport 22 -j ACCEPT

iptables -A INPUT -i eth0 -p tcp ! --syn -s any/0 --sport 22 -d $FW_IP --dport 1020:1023 -j ACCEPT

绽开内部主机可以 ftp 至外界的主机

怒放内部网路,可以 ftp 至外界主机。

作法如下∶(预设 policy 为 DROP)

###-----------------------------------------------------###

# open 对表面主机 ftp port 21

###-----------------------------------------------------###

# 以下是开垦命令 channel 21

iptables -A OUTPUT -o eth0 -p tcp -s $FW_IP --sport 1024:65535 -d any/0 --dport 21 -j ACCEPT

iptables -A INPUT -i eth0 -p tcp ! --syn -s any/0 --sport 21 -d $FW_IP --dport 1024:65535 -j ACCEPT

# 以下是开拓资料 channel 20

iptables -A INPUT -i eth0 -p tcp -s any/0 --sport 20 -d $FW_IP --dport 1024:65535 -j ACCEPT

iptables -A OUTPUT -o eth0 -p tcp ! --syn -s $FW_IP --sport 1024:65535 -d any/0 --dport 20 -j ACCEPT

# 以下是打开 passive mode FTP 资料通道

iptables -A OUTPUT -o eth0 -p tcp -s $FW_IP --sport 1024:65535 -d any/0 --dport 1024:65535 -j ACCEPT

iptables -A INPUT -i eth0 -p tcp ! --syn -s any/0 --sport 1024:65535 -d $FW_IP --dport 1024:65535 -j ACCEPT

开放 ping

能够对外 ping 任何一台主机。

作法如下∶(预设 policy 为 DROP)

iptables -A OUTPUT -o eth0 -p icmp -s $FW_IP --icmp-type 8 -d any/0 -j ACCEPT

  iptables -A INPUT -i eth0 -p icm -s any/0 --icmp-type 0 -d $FW_IP -j ACCEPT 

本文由澳门新萄京官方网站发布于服务器运维,转载请注明出处:澳门新萄京官方网站4内核中新增功能指南,Lin

关键词: