Linux安全管理 之二 简单配置-地址转换-状态匹配
本文主要是 简单的介绍防火墙的:简单配置->state->SNAT->DNAT...
==>环境介绍:
三台虚拟主机:
第四台: 真实主机
==>配置网关实现基本通信:
第一步: 将内网主机的网关指向192.168.10.10;
第二步: 将防火墙的转发功能开启;
[root@Firwall ~]# vim /etc/sysctl.conf net.ipv4.ip_forward = 1 |
第三部: 将外网主机的网关指向172.16.17.201;说明: 对于Linux主机来说,设定/proc/sys/net/ipv4/ip_forward的值为1,即为开启了路由功能.
[root@Web ~]# vim /var/www/html/index.html Welcome to xiaoma home!! |
[root@Web ~]#service httpd restart |
[root@Firwall ~]# curl http://192.168.10.20 Welcome to xiaoma home!! [root@Firwall ~]# |
==>给自己的真实主机添加一条路由实现访问Web服务:
1).开始->运行->输入cmd->添加如下内容:
C:\Users\Administrator>route add 192.168.10.0 MASK 255.255.255.0 172.16.17.201 |
2).查看路由表:
3).真实主机访问:
==>如果只想让Win XP访问,而不想让真实主机访问Web,怎么办呢?那么这时候就是防火墙起作用的时候了:
1).配置如下:
[root@Firwall ~]# iptables -P FORWARD DROP [root@Firwall ~]# iptables -A FORWARD -s 172.16.17.222 -d 192.168.10.20 -p tcp --dport 80 -j ACCEPT [root@Firwall ~]# iptables -A FORWARD -s 192.168.10.20 -d 172.16.17.222 -p tcp --sport 80 -j ACCEPT |
查看是否已经匹配到报文: [root@Firwall ~]# watch -n1 ‘iptables -L -n -v‘ |
3).那么Win XP能访问吗(成功)?
==>如果我想让Win XP 能远程连接,那有该如何设置呢?
1).配置如下:
[root@Firwall ~]# iptables -A FORWARD -s 172.16.0.0/16 -d 192.168.10.0/24 -p tcp --dport 22 -j ACCEPT [root@Firwall ~]# iptables -A FORWARD -s 192.168.10.0/24 -s 172.16.0.0/16 -p tcp --sport 22 -j ACCEPT |
2).WinXP连接测试(成功)?
3).最后保存规则:
[root@Firwall ~]# service iptables save |
第二种方法==>下面这种方法配置的规则效果要比上面的配置,性能要大大提升的...这就是优化规则的效果:
注意: 这里我把之前写的清空了哈,为了演示效果,那么配置如下:
1).先清空规则:
[root@Firwall ~]# iptables -F FORWARD |
2)).只要状态是ESTABLISHED就放行:
[root@Firwall ~]# iptables -A FORWARD -m state --state ESTABLISHED -j ACCEPT |
[root@Firwall ~]# iptables -A FORWARD -d 192.168.10.20 -p tcp -m multiport --dports 22,80 -m state --state NEW -j ACCEPT |
NAPT:动态NAT,网络地址端口转换;
一、如何做SNAT地址转换后在做下过滤呢?
1).配置如下:
[root@Firwall ~]# iptables -t nat -A POSTROUTING -s 172.16.0.0/16 -j SNAT --to-source 192.168.10.10 |
3).查看Web服务的访问日志(原来的是172.16.17.222主机的地址,现在做了源地址转换.):
4).如何将带有 "welcome" 的关键字过滤掉呢 ?配置如下:
[root@Firwall ~]# iptables -P FORWARD ACCEPT [root@Firwall ~]# iptables -F FORWARD [root@Firwall ~]# iptables -A FORWARD -d 172.16.0.0/16 -p tcp --sport 80 -m string --algo kmp --string "welcome" -j REJECT |
二、如何做DNAT地址转换并且让真实主机访问,而不让虚拟主机的Win XP访问呢?
1.配置如下:
1).将之前的规则清空以免会有影响且配置;
[root@Firwall ~]#iptables -t nat -F [root@Firwall ~]# iptables -F |
[root@Firwall ~]# iptables -t nat -A PREROUTING -d 172.16.17.201 -p tcp --dport 80 -j DNAT --to-destination 192.168.10.20 |
3).真是主机:访问也是可以的,请看:
2.如果说这时候你不想让Win XP 访问,而真实主机还是能访问的怎么办呢?
1).配置如下:
[root@Firwall ~]# iptables -A FORWARD -s 172.16.17.222 -j REJECT |
2).Win XP访问(失败):
3.如何将所有外网用户请求地址为172.16.17.201并且端口是22022的就转发至192.168.10.20上的22端口,如何配置呢?
1).配置如下:
[root@Firwall ~]# iptables -t nat -A PREROUTING -d 172.16.17.201 -p tcp --dport 22022 -j DNAT --to-destination 192.168.10.20:22 |
[root@Firwall ~]# iptables -F FORWARD |
[root@Firwall ~]# service iptables save |
A smile is the most beautiful language!!!
以本人的理解而写出博客,如若有错误,欢迎指出.
---->小马子
本文出自 “IT宅小子_小处男” 博客,请务必保留此出处http://xiaomazi.blog.51cto.com/5891742/1386937
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。