2、iptables(生产中扣事态。模拟外网。

规则:一条条过滤的言语。。。

Centos7配置为NAT服务器

entos7召开NAT路由器配置

备三光实验机器:

如法炮制内网:Ubuntu14.04 192.168.104.10

模仿外网:Ubuntu14.04 10.20.20.100

仿照nat服务器(作为网关):centos7 192.168.104.2 10.20.20.2

条件:vsphere虚拟化平台

图片 1

1.配备内网服务器网络(关闭内网服务器防火墙)

图片 2

2.部署外网服务器网络(关闭外网服务器防火墙)

图片 3

3.配置nat服务器

图片 4

4.布置好服务器网络之后,配置nat服务器的防火墙和路由规则(重要)

1)配置路由

图片 5

2)配置防火墙(重点)

SNAT:内网访问外网,作用于nat表POSTROUTING链

DNAT:外网访问内网,作用于nat表PREROUTING链

先是关闭自带防火墙(systemctl stop firewalld)

除掉之前所有的条条框框:(nat会使用到filter表和nat表)

iptables -X& iptables -F &iptables
-Z(清理filter表的条条框框,不加以–t就默认filter表)

iptables-X-t nat & iptables -F -tnat & iptables -Z -t
nat(清理filter表的平整)

实验一:内网通过nat访问外网

1.iptables -P FORWARD DROP #关闭forward转发链,安全。

2.iptables -A FORWARD –m state –stateESTABLISHED,RELATED –j ACCEPT
#运用状态模块,放行相关的同确立连接的要

3.iptables -A FORWARD -m state-state NEW -s 192.168.104.0/24 -j ACCEPT
#同意内网通过网关访问外网,注意其实到马上步就是好实现内网访问外网,但是若当外网上抓捕包会看到源地址并没变,所以这样不敷完善。

图片 6

4.iptables -t nat -APOSTROUTING -s 192.168.104.0/24 -o ens192 -j
MASQUERADE

#以192.168.104截的地点伪装成nat出口地点,MASQUERADE这个价其实就是IP伪装成封包出去(-o)的那块网卡上的IP。其实上面的话语和iptables
-t nat-A POSTROUTING -s 192.168.104.0/24 -j SNAT –to-source
10.20.20.2效能是平等的。再次当外网服务器上抓包取证。

图片 7

尝试二:外网通过nat访问内网服务(ssh为条例)

1.iptables -P FORWARD DROP #关闭forward转发链,安全。

2.iptables -A FORWARD –m state –stateESTABLISHED,RELATED –j ACCEPT
#采取状态模块,放行相关的和成立连接的求

3.iptables -t nat -APREROUTING -p tcp -i ens192 –dport 10222 -j DNAT
–to-destination192.168.104.10:22
#表请求nat服务器某个端口然后DNAT跳反至内网服务器上

4.iptables -A FORWARD -iens192 -o ens160 -d 192.168.104.10 -p tcp
–dport 22 -j ACCEPT

#外表请求进至nat服务器,然后通过nat表的PREROUTING链到达filter表的FORWARD链,然后放行目的地址之22端口,在内网服务器上捉住包取证。

图片 8

图片 9

总结:

于linux nat中,被转正的保实在通过了以下几单表-链的结合

1.mangle –PREROUTING

2.nat –PREROUTING #用来外部看中服务的NAT

3.mangle –FORWARD

4.filter –FORWARD

5.mangle –POSTROUTING

6.nat –POSTROUTING #用以中浏览外部的NAT

nat一般还是于filter表的forward链和nat表的prerouting,postrouting链上开规则设定。

http://www.bkjia.com/Linuxjc/1228234.htmlwww.bkjia.comtruehttp://www.bkjia.com/Linuxjc/1228234.htmlTechArticleCentos7配置为NAT服务器 entos7举行NAT路由器配置
准备三台实验机器: 模拟内网:Ubuntu14.04 192.168.104.10
模拟外网:Ubuntu14.04 10.20.20.100 模拟nat服务…

关闭两件功能:
1、selinux(生产被为是关门的),ids.
2、iptables(生产面临扣状态,内网关闭,外网打开)
大并发的景,不能够开始iptables,影响性,硬件防火墙。

配备一个局防火墙:用第二栽办法

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

七、生产条件如何维护

[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防火墙

[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 插入到第二行

游公园和扣留电影片种植办法
逛公园:默认随便出入,对非法的成员展开拒绝,企业应用:企业布局上网网关路由
在押电影:默认没票上不错过,花钱买进票才会看电影,企业应用:服务器主机防火墙
亚种植更严厉,更安全。

 

匹配指定协议外的所有协议 
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)

提拔,所有的链名都设大写

平安优化:
1、尽可能不被服务器配置外网ip,可以由此代理转发。
2、并作不是特地深气象于外网ip的环境,开启防火墙。

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

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

写脚本

一、甜点

九、iptables常因此企业案例:
1、linux主机防火墙(表:FILTER)
2、局域网机器共享上网(表: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)

五、一些匹配的例证

六、生产环境布置主机防火墙的星星点点站模式

季、简单操作

iptables的申而是链的容器
链:INPUT,OUTPUT,FORWARD,PREROUTING,POSTROUTING

链是规则容器:

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

服务器网关需具备如下条件:
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

八、配置网关服务器

[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

相关文章