CC00049.LBCHAC——|防火墙.V3|——|3台server|

一、SNAT环境
二、未启用的SNAT
三、启用的SNAT
### --- 前提条件

~~~     局域网各主机正确设置IP地址/子网掩码
~~~     局域网各主机正确设置默认网关地址
~~~     Linux网关支持IP路由转发
### --- 实现方法:编写SNAT转换规则

~~~     iptables    -t    nat    -A    POSTROUTING    -s    192.168.1.0/24    -o    eth0    -j    SNAT    --to-source    218.29.30.31
~~~     MASQUERADE    ——  地址伪装
~~~     适用于外网IP地址,非固定的情况
~~~     对于ADSL拨号连接,接口通常为ppp0、ppp1
~~~     将SNAT规则改为MASQUERADE   即可
~~~     iptables    -t    nat    -A    POSTROUTING    -s    192.168.1.0/24    -o    eth0    -j    MASQUERADE
四、实验专题.SNAT转换<——通过SNAT转换让内网主机访问公网。
### --- HA-server1:10.10.10.11:私有客户端内网
### --- HA-server2:10.10.10.12:第一块网卡:仅主机模式。第二块网卡:NAT模式;可以访问外网
### --- 添加路由交给10.10.10.12

[root@server11 ~]# echo "GATEWAY=10.10.10.12" >>/etc/sysconfig/network-scripts/ifcfg-eth0
[root@server11 ~]# service network restart
[root@server11 ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.10.10.0      0.0.0.0         255.255.255.0   U     1      0        0 eth0
0.0.0.0         10.10.10.12     0.0.0.0         UG    0      0        0 eth0
### --- 设置HA-server2第二块网卡为DHCP可以访问公网
 
[root@server12 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth1 
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=dhcp
[root@server12 ~]# service network restart          
[root@server12 ~]# vim /etc/sysctl.conf     
net.ipv4.ip_forward = 1                                                     // 开启路由转发
[root@server12 ~]# sysctl -p
net.ipv4.ip_forward = 1                                                     // 刷新内核规则
### --- 开启防火墙并清除默认规则

[root@server12 ~]# service iptables start
[root@server12 ~]# chkconfig iptables on
[root@server12 ~]# iptables -L       
[root@server12 ~]# iptables -F
### --- 增加SNAT转换规则

[root@server12 ~]# iptables -t nat -A POSTROUTING -s 10.10.10.0/24 -o eth1 -j SNAT --to-source 192.168.120.129    //-t nat:nat表 -A POSTROUTING:路由后 -s 10.10.10.0/24内网地址 -o eth1:出口网卡 -j SNAT:动作SNAT转换 --to-source 192.168.120.129出口地址
[root@server12 ~]# iptables -t nat -L
Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination         
SNAT       all  --  10.10.10.0/24        anywhere            to:192.168.120.129 
[root@server12 ~]# service iptables restart                                 // 重启iptables这条规则就消失,因为是临时生效的
[root@server12 ~]# iptables -t nat -L
### --- 添加SNAT规则永久生效;持久化

[root@server12 ~]# iptables -t nat -A POSTROUTING -s 10.10.10.0/24 -o eth1 -j SNAT --to-source 192.168.120.129
[root@server12 ~]# iptables -t nat -L   
[root@server12 ~]# service iptables save                                    // 保存永久生效
iptables: Saving firewall rules to /etc/sysconfig/iptables:[  OK  ]
[root@server12 ~]# cat /etc/sysconfig/iptables
*nat                                                                        // 代表那张表
:PREROUTING ACCEPT [0:0]                                                    // PREROUTING 默认规则是ACCEPT[0过滤的数据包数:0过滤的字节数]
:POSTROUTING ACCEPT [1:69]                                                  // POSTROUTING 默认规则时ACCEPT
:OUTPUT ACCEPT [1:69]                                                       // OUTPUT 默认规则是ACCEPT
-A POSTROUTING -s 10.10.10.0/24 -o eth1 -j SNAT --to-source 192.168.120.129 // 刚才添加的规则
COMMIT                                                                      // COMMIT   表示这条规则结束
[root@server12 ~]# vim  /etc/sysconfig/iptables
*nat
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [1:69]
:OUTPUT ACCEPT [1:69]
-A POSTROUTING -s 10.10.10.0/24 -o eth1 -j SNAT --to-source 192.168.120.129
COMMIT
[root@server12 ~]# service iptables save
[root@server12 ~]# service iptables restart

[root@server12 ~]# iptables -t nat -L
Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination         
SNAT       all  --  10.10.10.0/24        anywhere            to:192.168.120.129
### --- 验证:在HA-server1:10.10.10.11通过HA-server2:10.10.10.12上网。

[root@server11 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0 
DNS1=114.114.114.114
DNS2=8.8.8.8
[root@server11 ~]# service network restart
[root@server11 ~]# ping baidu.com                                           // HA-server1:10.10.10.11为仅主机模式,不可访问公网,添加路由设置SNAT转换可以访问公网。
64 bytes from 39.156.69.79: icmp_seq=6 ttl=127 time=40.9 ms
五、通过MASQUERADE自动的识别并添加公网地址
### --- 在真正的生产环境中,做的SNAT转换,需要些固定的公网地址,若是每次都需要抓取公网地址,动态的转换机制MASQUERADE:地址伪装
~~~     MASQUERADE自动的判断你的公网地址是多少,而不需要去指定公网地址。
### --- 添加一条动态的SNAT转化并验证

[root@server12 ~]# iptables -t nat -F                                       // 清空NAT表
[root@server12 ~]# iptables -t nat -A POSTROUTING -s 10.10.10.0/24 -o eth1 -j MASQUERADE
[root@server12 ~]# iptables -t nat -L
Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination         
MASQUERADE  all  --  10.10.10.0/24        anywhere                          // 自动的判断地址是多少且添加上,其实这条规则就是家里的路由器设置的规则。 若是这台服务器安装了DHCP且添加了这条规则,那么就可以当做家里的路由器来使用了。
[root@server11 ~]# ping baidu.com                                           // 可以正常访问
PING baidu.com (220.181.38.148) 56(84) bytes of data.
64 bytes from 220.181.38.148: icmp_seq=11 ttl=127 time=746 ms
六、DNAT策略
### --- DNAT策略的典型应用环境
### --- 在Internet中发布位于企业局域网内的服务器

~~~     DNAT策略的原理
~~~     目标地址转换:Destination Network Address    Translation
~~~     修改数据包的目标地址
### --- DNAT策略的典型应用环境

~~~     内网中的服务器肯定是不可以被客户端直接访问到的。
~~~     只能访问到路由器上,路由器通过DNAT转化把数据包传输到服务器。
### --- 前提条件

~~~     局域网的web服务器能够访问Internet
~~~     网关的外网IP地址有正确的DNS解析记录
~~~     Linux网关支持IP路由转发
~~~     实现方法
~~~     编写DNAT转换规则
~~~     iptables     -t    nat    -A    PREROUTING    -i    eht0    -d    218.29.30.31    -p    tcp    --dport    80    -j    DNAT    --to-destination 192.168.1.6
### --- 发布时修改目标端口

~~~     在DNAT规则中以“IP:Port”的形式指定目标地址
~~~     iptables    -t    nat    -A    PREROUTING    -i    eth0    -d    218.29.30.31    -p    tcp    --dport    2346    -j    DNAT     -to-destination    192.168.1.6:22
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yanqi_vip

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值