NAT、用iptables配置NAT

NAT 简介

NAT: 网络地址转换(Network Address Translation)
NAT技术出现之初是为了应对IPv4地址耗尽的问题(IPv4仅有2^32≈43亿个地址)。下文会介绍NAT如何解决该问题。

IPv4地址根据网络为所占的比特位数分为几大类(这里就不多介绍了) ,但保留了一些地址段不向特定的用户分配。其中有三段地址被用作私有地址。
私有地址: 不需要想IANA提出申请,只能用于本地(局域网)地址,不能作为全球路由地址使用。
10.0.0.0 ~10.255.255.255,
172.16.0.0~172.31.255.255,
192.168.0.0~192.168.255.255

私有地址可以在任何组织或企业内部使用(局域网)。

由于私有地址的作用于只在本地局域网,对于全球网络来说,私有地址便是可以复用的。也正式私有地址的可复用性避免了IPv4地址耗尽的问题。
私有地址可复用的,但作用域仅在本地,那使用私有地址的设备如何与公网上的网络设备进行通信呢,这就是NAT的范畴了。

SNAT 和 DNAT

NAT有两大类:
+ SNAT:源网络地址转换。发送报文时将源IP和源port进行转换。主要用于内网访问外网服务。在POSTROUTING链上实现。
+ DNAT:目的网络地址转换。接收报文时目的IP和目的Port发生变化。主要用于外网想内网发送数据。在PREROUTING链上实现。

局域网与公网的通信模型

Created with Raphaël 2.1.0 Client Client Gateway Gateway Server Server Src=192.168.1.2:5050 Dst=33.0.0.103:6060 经过SNAT转换,Src和Src_port变化 Src=27.0.0.100:8080 Dst=33.0.0.103:6060 Src=33.0.0.103:6060 Dst=27.0.0.100:8080 DNAT转换 Src=33.0.0.103:6060 Dst=192.168.1.2:5050

SNAT

  网络服务一般采用CS模型,Client先想Server发送报文,由于Server在公网上,有全球唯一的IP,因此Client很容易确定Server的位置。然而,由于Client使用私有IP,不是全球唯一的,因而Server无法识别Client的位置。为此,Client所在局域网的网关在转发报文时,在进行报文转发时,将源IP地址(原本为Client的地址)转换为自己的IP地址,并修改Port以区分同一局域网的不同主机上的不同PC。Server在接收到报文时,根据源IP(Client网关的IP),可以确定Client所在的局域网。

DNAT

  Server在接收到经过SNAT的报文时,根据源IP定位到Client所在局域网网关,以所接收报文的源IP为目的地址,将回复报文发送给Client所在局域网网关。该网关接收到报文后,根据端口号发现报文是发给本局域网中的Client主机的,因此修改目的IP和目的Port, 把报文转发给Client上的进程。这便是DNAT的过程。

用iptables配置SNAT

语法:iptables -t nat -A POSTROUTING -s src_ip -o interface_output -j SNAT --to-source ip[-ip]:[port-port]
例子:iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j SNAT --to-source 202.100.1.1

用iptables配置DNAT

语法:iptables -t nat -A PREROUTING -s dst_ip -o interface_input -j DNAT --to-destination ip[-ip]:[port-port]
例子:iptables -t nat -A PREROUTING -s 202.100.1.1 -o eth0 -j SNAT --to-destination 192.168.1.0/24

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值