1、NAT原理总结
NAT(Network Address Translation):网络地址转换,将IP数据报文头部中的IP地址转换为另一个IP地址的过程,主要用于实现内部网络(私有IP地址)访问外部网络(公有IP地址)的功能。NAT一般部署在连接内网和外网的设备上。当收到的报文源地址为私网地址、目的地址为公网地址时,NAT可以将源私网地址转换成一个公网地址。这样公网目的地就能收到报文,并做出响应。此外,网关上还会创建一个NAT映射表,以便判断从公网收到的报文应该发往的私网目的地址。
2、iptables实现SNAT和DNAT,并对规则持久保存。
ip | 服务 |
---|
192.16.0.7 | internet |
192.16.0.17、172.16.0.17 | firewalld |
172.16.0.27 | lan1 |
172.16.0.37 | lan2 |
#实现SNAT
[root@firewalld ~]# vim /etc/sysctl.conf
net.ipv4.ip_forward = 1
[root@firewalld ~]# sysctl -p
[root@firewalld ~]# iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to-source 172.16.0.17
#测试
[root@internet ~]# ping 172.16.0.27
[root@lan1 ~]# tcpdump -i ens32 -nn icmp
21:42:52.608672 IP 172.16.0.17 > 172.16.0.27: ICMP echo request, id 2046, seq 1, length 64
#实现DNAT
[root@firewalld ~]# iptables -t nat -A PREROUTING -d 192.168.0.17 -j DNAT --to-destination 172.16.0.37
#测试
[root@internet ~]# ping 192.168.0.17
[root@lan2 ~]# tcpdump -i ens32 -nn icmp
21:53:07.520006 IP 172.16.0.17 > 172.16.0.37: ICMP echo request, id 2049, seq 64, length 64
[root@firewalld ~]# iptables-save > iptables.txt
3、LVS调度算法总结
动态方法 | |
---|
RR(Roundroubin) | 轮询 |
WRR(Weighted Roundroubin) | 加权轮询 |
SH(Source Hashing) | 源IP地址哈希 |
DH(Destination Hashing) | 目标地址哈希 |
静态方法 | |
LC(Least Connections) | 最少连接调度 |
WLC(Weighted Least Connections) | 加权最少连接 |
SED(Shortest Expection Delay) | 最少期望延迟调度算法 |
NQ(Never Queue) | 永不排队调度算法 |
LBLC(Locality-Based Least Connections) | 基于局部性的最少连接 |
LBLCR(Locality-Based Least Connections with Replication) | 带复制的基于局部性最少链接 |