当前位置:首页 > 操作系统 > Linux

Linux安全管理 之二 简单配置-地址转换-状态匹配

本文主要是 简单的介绍防火墙的:简单配置->state->SNAT->DNAT...


==>环境介绍:

三台虚拟主机:

第一台: 内网主机
桥接
第二台: 防火墙
①,桥接
②vmnet5
第三台: 外网主机
vmnet5

     第四台: 真实主机


如何让WinXP主机访问Web主机通信并且配置相应策略呢??

650) this.width=650;" src="/upload/getfiles/default/2022/11/16/20221116030851827.jpg" title="1.png" />


==>配置网关实现基本通信:

第一步:  将内网主机的网关指向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,即为开启了路由功能.

第一种方法 = =>配置Web服务/测试访问:
1).启动web服务并且创建index.html网页文件:
[root@Web ~]# vim /var/www/html/index.html
Welcome to xiaoma home!!
[root@Web ~]# service httpd restart
2).测试访问:
(1)防火访问:
[root@Firwall ~]# curl  http://192.168.10.20
Welcome to xiaoma home!!
[root@Firwall ~]#
(2)外网Win XP访问(成功):

650) this.width=650;" src="/upload/getfiles/default/2022/11/16/20221116030852185.jpg" title="2.png" />


==>给自己的真实主机添加一条路由实现访问Web服务:

1).开始->运行->输入cmd->添加如下内容:

C:UsersAdministrator>route add 192.168.10.0 MASK 255.255.255.0 172.16.17.201

2).查看路由表:

650) this.width=650;" src="/upload/getfiles/default/2022/11/16/20221116030852573.jpg" title="15.png" />


3).真实主机访问:

650) this.width=650;" src="/upload/getfiles/default/2022/11/16/20221116030852894.jpg" title="3.png" />


==>如果只想让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‘

2).真实主机 访问(失败):

650) this.width=650;" src="/upload/getfiles/default/2022/11/16/20221116030853115.jpg" title="4.png" />


3).那么Win XP能访问吗(成功)?

650) this.width=650;" src="/upload/getfiles/default/2022/11/16/20221116030853397.jpg" title="5.png" />


==>如果我想让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连接测试(成功)?

650) this.width=650;" src="/upload/getfiles/default/2022/11/16/20221116030854356.jpg" title="6.png" />

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
2).只要状态是NEW就放行:
[root@Firwall ~]# iptables -A FORWARD -d 192.168.10.20 -p tcp -m multiport --dports 22,80 -m state --state NEW -j ACCEPT
3).结果和上面的就是一样的,在此就不给出截图了!



NAPT:动态NAT,网络地址端口转换;

        源地址转换:SNAT,用于让内网主机访问互联网
        目标地址转换:DNAT,让互联网上主机访问本地内网中的某服务器上的服务,(发布机制)

一、如何做 SNAT 地址转换后在做下过滤呢?

1).配置如下:

[root@Firwall ~]# iptables -t nat -A POSTROUTING -s 172.16.0.0/16 -j SNAT --to-source 192.168.10.10
2).Win XP访问(成功):

650) this.width=650;" src="/upload/getfiles/default/2022/11/16/20221116030854650.jpg" title="7.png" />


3).查看 Web服务的 访问日志(原来的是172.16.17.222主机的地址,现在做了源地址转换.):

650) this.width=650;" src="/upload/getfiles/default/2022/11/16/20221116030854884.jpg" title="8.png" />


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
5).WinXP访问(失败):

650) this.width=650;" src="/upload/getfiles/default/2022/11/16/20221116030855182.jpg" title="9.png" />




二、如何做 DNAT 地址转换并且让真实主机访问,而不让虚拟主机的Win XP访问呢?

注意172.16.17.201的主机上并没有web服务,而是由于做了目标地址转换的,你可以这样想的,实际上他访问的还是web服务器本身;

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
2).这时使用WinXP访问: http://172.16.17.201/(成功):

650) this.width=650;" src="/upload/getfiles/default/2022/11/16/20221116030855503.jpg" title="10.png" />


3).真是主机:访问也是可以的,请看:

650) this.width=650;" src="/upload/getfiles/default/2022/11/16/20221116030855771.jpg" title="11.png" />


2.如果说这时候你不想让Win XP 访问,而真实主机还是能访问的怎么办呢?

1).配置如下:

[root@Firwall ~]# iptables -A FORWARD -s 172.16.17.222 -j REJECT

2).Win XP访问(失败):

650) this.width=650;" src="/upload/getfiles/default/2022/11/16/20221116030856061.jpg" title="12.png" />


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
2).Win XP 使用ssh建立连接请求(成功):

650) this.width=650;" src="/upload/getfiles/default/2022/11/16/20221116030856444.jpg" title="13.png" />



A smile is the most beautiful language!!!


650) this.width=650;" src="/upload/getfiles/default/2022/11/16/20221116030856886.jpg" />650) this.width=650;" src="/upload/getfiles/default/2022/11/16/20221116030856886.jpg" />650) this.width=650;" src="/upload/getfiles/default/2022/11/16/20221116030856886.jpg" />以本人的理解而写出博客,如若有错误,欢迎指出.650) this.width=650;" src="/upload/getfiles/default/2022/11/16/20221116030856886.jpg" />650) this.width=650;" src="/upload/getfiles/default/2022/11/16/20221116030856886.jpg" />650) this.width=650;" src="/upload/getfiles/default/2022/11/16/20221116030856886.jpg" />

                                                                   ---->小马子


本文出自 “IT宅小子_小处男” 博客,请务必保留此出处http://xiaomazi.blog.51cto.com/5891742/1386937

原文:http://xiaomazi.blog.51cto.com/5891742/1386937


【说明】本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!

相关教程推荐

其他课程推荐