filter是iptables默许使用的表,一、selinux(生产中也是关闭的)

[root@aliyun ~]# iptables -L -n

删除链,删除自定义的链,将所有的链清0
 --flush   -F [chain]                       Delete all rules in  chain or all chains
 --delete-chain    -X [chain]               Delete a user-defined chain
 --zero    -Z [chain [rulenum]]             Zero counters in chain or all chains

[root@aliyun ~]# iptables -F      
[root@aliyun ~]# iptables -X
[root@aliyun ~]# iptables -Z

iptables简单陈设示范

iptables防火墙简介
iptables/netfilter是Linux下自带的一款免费且能够的依据包过滤的防火墙工具,它的功用万分精锐,使用卓殊灵活,
能够对流入、流出、流经服务器的多寡包举办精细的支配。
iptables是Linux2.四及二.陆内核中集成的模块。
防火墙果汁的推行顺序暗中认可是在此从前到后依次执行,碰到匹配的平整就不在继续向下检查,若果蒙受不般配的条条框框会接二连三向下实行,
匹配上了闭门羹规则也是合营,由此不再继续。
在iptables中有两个最常用的表,分别是filter,nat和mangle,每三个表中都带有了个别分裂的链。
filter表:
filter是iptables私下认可使用的表,负责对流入、流出本机的数额包实行过滤,该表中定义了二个链:

INPOUT
负责过滤全部指标地址是本机地址的数据包,就是过滤进入主机的数据包。
FO途睿欧WAOdysseyD 负责转载流经本机但不进来本机的数据包,起到转会的功效。
OUTPUT
负责处理全体源地址是本机地址的数据包,即是处理从主机发出去的数据包。

NAT表: NAT是Network Address
Translation的缩写,是网络地址转换的意趣,用来承担源于与指标ip地址和port的转换。
壹般用来局域网四人共享上网或将内网ip映射成外网ip+port转换的功能。该表主要含有二个链:
OUTPUT
和主机发出去的数据包有关,在数额包路由事先改变主机发生的数据包的目标地址。
PREROUTING
在多少包刚到达防火墙时,实行路由判断以前实施的规则。改变包的指标地址(DNAT作用)、端口等
POSTROUTING
在数据包离开防火墙时,进行路由判断之后执行的规则。改变包的源地址(SNAT功用)、端口等
Mangle表:
Mangle表首要负责修改数据包中的新鲜路由标记,如TTL、TOS、MACRUISERK等。这几个表中包蕴了四个链:INPUT、FO宝马X5WA奥德赛D、OUTPUT、PREROUTING、POSTROUTING,
那张表与新鲜的标志相关,1般情状我们很少使用。
iptables: 0.0.0.0 所有ip

#翻开协理 iptables -h man iptables
列出iptables规则 iptables -L -n 列出iptables规则并体现规则编号 iptables
-L -n –line-numbers
列出iptables nat表规则(默认是filter表) iptables -L -n -t nat
破除默许规则(注意暗中同意是filter表,如若对nat表操作要加-t nat)
#知晓全体条条框框 iptables -F #删除用户自定义的链 iptables -X
#将链的计数器清零 iptables -Z
#重启iptables发现规则依旧留存,因为从没保存 service iptables restart
#封存配置 service iptables save
#禁止ssh登6(若果服务器在机房,一定要小心) iptables -A INPUT -p tcp
–dport 2二 -j DROP #免除规则 iptables -D INPUT -p tcp –dport 2二 -j
DROP iptables -D INPUT [line-number] // 根据
-A, –append chain 追加到规则的结尾一条 -D, –delete chain [rulenum]
Delete rule rulenum (1 = first) from chain -I, –insert chain
[rulenum] Insert in chain as rulenum (default 一=first)
添加到规则的第1条 -p, –proto proto protocol: by number or name, eg.
‘tcp’,常用协议有tcp、udp、icmp、all -j, –jump target
常见的行为有ACCEPT、DROP和REJECT二种,但貌似不要REJECT,会带来安全隐患
专注:INPUT和DROP那样的要害字要求大写
#明确命令禁止1玖二.168.10.0网段从eth0网卡接入 iptables -A INPUT -p tcp -i eth0 -s
1玖二.16捌.十.0/贰四 -j DROP
#不准ip地址非1九2.168.十.10的具有品种数据对接 iptables -A INPUT ! -s
192.168.10.10 -j DROP
#禁止ip地址非192.168.10.10的ping请求 iptables -I INPUT -p icmp
–icmp-type 8 ! -s 192.168.98.10 -j DROP
#扩展匹配:一.隐式扩大 二.显示扩展 #隐式扩展 -p tcp –sport PO哈弗T 源端口
–dport PO昂科雷T 指标端口
#呈现扩大:使用额外的同盟规则 -m EXTENSTION –SUB-OPT -p tcp –dport 2二与 -p tcp -m tcp –dport 22职能雷同
state:状态扩大,接口ip_contrack追踪会话状态 NEW:新的延续请求
ESTABLISHED:已确立的连天请求 INVALID:违规连接 RELATED:相关联的连日
#匹配端口范围 iptables -I INPUT -p tcp –dport 22:80 -j DROP
#匹配多少个端口 iptables -I INPUT -p tcp -m multiport –dport 2贰,80 -j
DROP
#不允许源端口为80的多寡流出 iptables -I OUTPUT -p tcp –sport 80 -j
DROP
#服务器1般暗中同意规则问拒绝,借使想允某种流量通过必要至极添加 _____
Incoming / \ Outgoing –>[Routing ]—>|FORWARD|——->
[Decision] \_____/ ^ | | v ____ ___ / \ / \ |OUTPUT|
|INPUT| \____/ \___/ ^ | | —-> Local Process —-
http://www.netfilter.org/documentation/HOWTO/packet-filtering-HOWTO-6.html

布置防火墙: 二种格局:电影院方式和逛公园形式
安顿贰个生产环境的防火墙 #一.清空持有规则 iptables -F iptables -Z
iptables -X
#二.配备允许ssh协议的2贰端口进入 iptables -A INPUT -p tcp –dport 22 -s
1九2.168.拾.0/贰四 -j ACCEPT
#三.安顿允许lo接口数据的进出 iptables -A INPUT -i lo -j ACCEPT iptables
-A OUTPUT -o lo -j ACCEPT
#4.安装暗许的出入规则,DROP掉INPUT链和FO福特ExplorerWA帕杰罗D链,保留OUTPUT链 iptables
–policy OUTPUT ACCEPT iptables -P INPUT DROP iptables -P FO兰德KoleosWA奥迪Q7D DROP
#伍.敞开信任的IP段 iptables -A INPUT -p all -s 1玖二.16捌.拾.0/二肆 -j
ACCEPT
#6.开放http的80端口 iptables -A INPUT -p tcp –dport 80 -j ACCEPT
#柒.允许icmp类型协议通过 iptables -A INPUT -p icmp –icmp-type 八 -j
ACCEPT
#8.同意涉及状态包进出 iptables -A INPUT -m state –state
ESTABLISHED,RELATED -j ACCEPT iptables -A OUTPUT -m state –state
ESTABLISHED,RELATED -j ACCEPT #对于FTP而言,就须要 RELATED 才能促成 二壹端口白名单,如不加此项必要额外开放端口,而那么些额外开放端口是不受连接情形珍视的。
#9.保存iptables配置到文件 service iptables save

iptables –policy INPUT DROP // 将INPUT表策略修改为DROP

iptables的NAT功效:将Linux服务器配置为上网网关和端口映射成效
上网网关:正是将Linux服务器配置成路由器也许网关,达成任何服务器能透过那台服务器进行上网的功效,如若急需实际该意义,就要借助iptables的nat表
NAT的二种方式:DNAT和SNAT
SNAT的全称是Source Network Address
Translation,意思是源网络地址转换,那是一种变愈多少包源ip地址等成效的技能,
常常用来贯彻使多台总计机共享三个Internet地址访问互连网的功用,如x小区宽带、集团内部机器上网。(nat表的POSTROUTING)
DNAT的齐全是Destination Network Address
Translation,意思是指标网络地址转换,DNAT是壹种转移多少包指标ip地址等功效的技巧,它能够使多台服务器共享叁个ip地址连入Internet,并且连续对外提供劳务。通过对同1个外部ip地址分配区别的端口,能够映射到分化的里边服务器的ip和端口,从而完毕提供各样服务的指标。除了实行端口映射外,还是能匹配SNAT的成效,来贯彻类似防火墙设备才能落到实处的DMZ作用,即ip的1对一映射。(nat表的PREROUTING)

SNAT实验步骤:
壹.准备两台服务器,在这之中1台服务器作为网关服务器,那台服务器要有两块网卡。其它1台作为内网服务器,有壹块网卡。
二.网关服务器内核文件/etc/sysctl.conf须要敞开转载功用。编辑/etc/sysctl.conf修改内容为net.ipv四.ip_forward=一,然后实施sysctl
-p使修改立刻生效。 3.设置iptables的filter表的FO福特ExplorerWAXC90D链允许转载。iptables
iptables -P FORubiconWA大切诺基D ACCEPT
肆.将内网服务器的网关设置为网关服务器的内网ip地址
5.在网关服务器的iptables的nat表中加一条规则:iptables -t nat -A
POSTROUTING -s 1九贰.16捌.十.0/二4 -o eth0 -j SNAT –to-source 17二.16.50.12捌六.验证:ping 八.8.捌.八能够ping通,不过ping百度差别,必要配置DNS
DNAT实验步骤 在网关服务器的iptables的nat表中加一条规则: iptables -t nat
-A PREROUTING -d 172.1六.50.12捌 -p tcp -m tcp –dport 80 -j DNAT
–to-destination 1九二.16八.10.12玖:80
一对1映射: ifconfig eth0:一 172.1六.50.拾0/二四 //
外网对该IP全数端口进行转向 iptables -t nat -A PREROUTING -d
17贰.1陆.50.100 -j DNAT –to-destination 1九贰.16八.十.12玖 //
内网访问外网前,先经过VM一 SNAT. 拥有端口转发这一个和地方标绿字体部分大致 iptables -t nat -A POSTROUTING -o eth0 -s
1玖二.168.拾.12玖 -j SNAT –to-source 17二.1陆.50.100

3个网卡四个IP的主意: 一.网卡别名 ifconfig eth0:一 1九二.168.50.200
2.?
删除nat表POSTROUTING 第一条rule iptables -t nat -D POSTROUING 1
DNAT -> PREROUTING SNAT -> POSTROUTING
回路走的MAC记录

http://www.bkjia.com/Linuxjc/1008111.htmlwww.bkjia.comtruehttp://www.bkjia.com/Linuxjc/1008111.htmlTechArticleiptables简单配置示例
iptables防火墙简介iptables/netfilter是Linux下自带的1款免费且能够的依照包过滤的防火墙工具,它的机能十一分强大,使用非…

闭馆两项意义:
一、selinux(生产中也是关门的),ids.
2、iptables(生产中看景况,内网关闭,外网打开)
大并发的处境,不能够开iptables,影响属性,硬件防火墙。

匹配指定协议外的所有协议 
iptables -A INPUT -p ! tcp
匹配主机源IP
iptables -A INPUT -s 10.0.0.14
iptables -A INPUT -s ! 10.0.0.14

匹配网段
iptables -A INPUT -s 10.0.0.0/24
iptables -A INPUT -s ! 10.0.0.0/24
匹配单一端口
iptables -A INPUT -p tcp --sport 53
iptables -A INPUT -p udp --dport 53

匹配指定端口之外的端口
iptables -A INPUT -p tcp --dport ! 22 
iptables -I INPUT -p tcp ! --dport 22  -s 10.0.0.123 -j DROP

iptables -I INPUT -p tcp --dport 52000:53000 -j DROP
匹配端口范围:
iptables -A INPUT -p tcp --sport 22:80
iptables -I INPUT -p tcp --dport 21,22,23,24 -j ACCEPT===》错误语法
iptables -I INPUT -p tcp -m multiport --dport 21,22,23,24 -j ACCEPT
iptables -I INPUT -p tcp --dport 3306:8809 -j ACCEPT
iptables -I INPUT -p tcp --dport 18:80 -j DROP


匹配ICMP类型
iptables -A INPUT -p icmp --icmp-type 8 
例:iptables -A INPUT -p icmp --icmp-type 8 -j DROP
iptables -A INPUT -p icmp -m icmp --icmp-type any -j ACCEPT
匹配指定的网络接口
iptables -A INPUT -i eth0
iptables -A FORWARD -o eth0


匹配网络状态
-m state --state
    NEW:已经或将启动新的连接
    ESTABLISHED:已建立的连接
    RELATED:正在启动新连接
INVALID:非法或无法识别的
FTP服务是特殊的,需要配状态连接。
允许关联的状态包通过(web服务不要使用FTP服务)
#others RELATED ftp协议
#允许关联的状态包
iptables -A INPUT  -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
#___________________________ ipconfig conf end _______________________________
比喻:看电影出去WC或者接个电话,回来也得允许进去。

-m limit
--limit n/{second/minute/hour}:指定时间内的请求速率"n"为速率,后面为时间分别为:秒、分、时    
--limit-burst [n]:在同一时间内允许通过的请求"n"为数字,不指定默认为5
fg:本机地址:172.16.14.1,允许172.16.0.0/16网络ping本机,但限制每分钟请求不能超过20,每次并发不能超过6个
iptables -A INPUT -s 172.16.0.0/16 -d 172.16.14.1 -p icmp --icmp-type 8 -m limit --limit 20/min --limit-burst 6 -j ACCEPT
    iptables -A OUTPUT -s 172.16.14.1 -d 172.16.0.0/16 -p icmp --icmp-type 0 -j ACCEPT

三、查看当前的规则等音讯

链是规则容器:

Netfilter/iptables是表的容器,iptables包括种种表
(filter,NAT,MANGLE,RAW)

[root@aliyun ~]# iptables -A INPUT -p tcp -d 12345 -j DROP
[root@aliyun ~]# iptables -L -n

给链编号,方便删除
[root@ipt ~]# iptables -L -n --line-numbers
Chain INPUT (policy ACCEPT)
num  target     prot opt source               destination         
1    DROP       tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:80 

Chain FORWARD (policy ACCEPT)
num  target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
num  target     prot opt source               destination         
[root@ipt ~]#  iptables -t filter -D INPUT 1              


-A是添加规则到指定链的结尾,最后一条
-I是添加规则到指定的开头,第一天 

-I INPUT 2 插入到第二行

提示,全体的链名都要大写

四、容易操作

5、1些合营的例子

7、生产条件如何有限补助

8、配置网关服务器

安然优化:
一、尽或然不给服务器配置外网ip,能够透过代办转载。
贰、并发不是专门大场地在外网ip的环境,开启防火墙。

服务器网关需具备如下条件:
1)物理条件是具备双网卡,内网卡不配GW

2)确保服务器网关B要可以上网(B上网才能代理别的),可以通过ping baidu.com测试

3)内核文件/etc/sysctl.conf里开启转发功能。
在服务器网关B 上开启路由转发功能。编辑/etc/sysctl.conf修改内容为
net.ipv4.ip_forward = 1,,,然后执行sysctl -p使修改生效。

4)iptables的filter表的FORWARD链允许转发
iptables -P FORWARD ACCEPT

5)查看iptables内核模块
配置网关需要iptables的nat表,PREROUTING,POSTROUTING
[root@aliyun ~]# lsmod | egrep ^ip
iptable_filter          2793  0 
ip_tables              17895  1 iptable_filter
ipv6                  336368  2 ib_ipoib,ib_addr

载入内核模块
modprobe ip_tables
modprobe iptable_filter
modprobe iptable_nat
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
modprobe ipt_state


[root@aliyun ~]# lsmod | egrep ^ip
iptable_nat             5923  0 
iptable_filter          2793  0 
ip_tables              17895  2 iptable_nat,iptable_filter
ipv6                  336368  2 ib_ipoib,ib_addr


6)处理的局域网的两条命令方法:
方法1:适合于有固定外网地址的:
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j SNAT --to-source 10.0.0.1
1)-s 192.168.1.0/24办公室或IDC内网网段
2)-o eth0 为网关的外网卡地址(ADSL)
3)-j SNAT --to-source 10.0.0.1是网关外网卡ip地址

方法2:适合变化外网地址(ADSL),,==1将内部的网络转发出去
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j MASQUERADE 伪装。

==2把外部ip地址及端口映射到内部服务器地址及端口(在10段的主机可以通过访问B 
10.0.0.1:80 ,及可访问到192.168.1.1:9000,c提供的web服务)
iptables -t nat -A PREROUTING -d 10.0.0.1 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.1:9000

配备3个公司防火墙:用第一种办法

平整:一条条过滤的说话。。。

iptables的表又是链的容器
链:INPUT,OUTPUT,FORWARD,PREROUTING,POSTROUTING

 

一、甜点

二、iptables防火墙

1、需要改配置文件的时候可以直接进去修改
vi /etc/sysconfig/iptables
直接修改
/etc/init.d/iptables reload

2、10.0.0.116这个机器攻击我们服务器或者在BBS里发垃圾帖子。
手工封IP:

写脚本

6、生产条件陈设主机防火墙的两站形式

[root@ipt ~]# iptables -F
[root@ipt ~]# iptables -X
[root@ipt ~]# iptables -Z
一、允许本地访问
[root@ipt ~]# iptables -A INPUT -p tcp  --dport 52113 -s 10.0.0.0/24  -j ACCEPT
[root@ipt ~]# iptables -A INPUT -i lo -j ACCEPT
[root@ipt ~]# iptables -A INPUT -o lo -j ACCEPT  ///有问题的
[root@ipt ~]# iptables -A OUTPUT -o lo -j ACCEPT  
二、设置默认的策略
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP
三、开启信任的ip网段
iptables -A INPUT -s 124.43.62.96/27 -p all -j ACCEPT
iptables -A INPUT -s 192.168.1.0/24 -p all -j ACCEPT 
iptables -A INPUT -s 10.0.0.0/24 -p all -j ACCEPT    
iptables -A INPUT -s 203.83.24.0/24 -p all -j ACCEPT 
iptables -A INPUT -s 201.82.34.0/24 -p all -j ACCEPT 

四、允许业务服务端口对外访问(允许http服务无条件通过)
iptables -A INPUT -p tcp  --dport 80 -j ACCEPT

五 、允许icmp类型协议通过
iptables -A INPUT -p icmp -m icmp --icmp-type any -j ACCEPT
提示:如果不想开,就不执行此行命令。
如果对内开,对外不开就用下面的方式
iptables -A INPUT -p icmp -s 10.0.0.0/24 -m icmp --icmp-type any -j ACCEPT
iptables -A INPUT -p icmp --icmp-type 8  -j ACCEPT

六、允许关联的状态包通过(web服务不要使用FTP服务)
iptables -A INPUT  -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT


七、保存配置文件
/etc/init.d/iptables save


企业iptables面试题:自定义链处理syn攻击
iptables -N syn-flood
iptables -A INPUT -i eth0 -syn -j syn-flood
iptables -A syn-flood -m limit -limit 5000/s -limit-burst 200 -j RETURN
iptables -A syn-flood -j DROP


/etc/sysconfig/iptables

逛公园及看录制二种艺术
逛公园:暗许随便出入,对地下的积极分子展开拒绝,公司应用:集团配备上网网关路由
看电影:私下认可没票进不去,花钱订票才能看录制,企业应用:服务器主机防火墙
第二种更严峻,更安全。

九、iptables常用企业案例:
壹、linux主机防火墙(表:FILTE兰德冠道)
二、局域网机器共享上网(表:NAT 链:POSTROUTING)
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j SNAT –to-source 10.0.0.1
3、外部地址和端口,映射为在那之中地址和端口(表:NAT 链:PREROUTING)

基于包过滤的防火墙.
支持7层控制(squid代理+iptables).

iptables -t nat -A PREROUTING -d 10.0.0.1 -p tcp –dport 80 -j DNAT –to-destination
192.168.1.1:9000

相关文章