ip 地址分公有地址和私有地址。

public address是由INIC组织负责,这些IP地址需要向INIC提出申请,并颁发。

private address是属于非注册地址,专门为组织内部使用,private ip address 不可以直接用来跟WAN 通信的,要么使用帧来通信,要么使用路由的NAT功能,将一个私有IP转化为一个公有IP。

*公私IP地址的范围:

A类的公有IP:

1.0.0.0~9.255.255.255

11.0.0.0~126.255.255.255

B类的公有IP:

128.0.0.0~172.15.255.255

172.32.0.0~191.255.255.255

C类的公有IP:

192.0.0.0~192.168.255.255

192.169.0.0~223.255.255.255

私有IP地址的范围:

A类私有IP地址:

10.0.0.0~10.255.255.255

B类私有IP地址:

172.16.0.0~172.31.255.255

C类私有IP地址:

192.168.0.0~192.168.255.255*

* NAT技术是将多个私有IP地址转化为公有IP地址的技术,主要解决IP地址不够用的问题*

*在不同的路由器中,其配置方法也不同,在宽带路由器中,路由器本身就启用了NAT转换,实现LAN到WAN接口的地址转换功能*

*在NAT地址转换方式上,可以分为静态转换及动态转换,也可以基于IP转换和基于端口转换*


IP_forward工作原理:

内网主机向公网发送数据包时,由于目的主机跟源主机不在同一个网段内,所以,数据包暂时发往默认网关处理,而本网段的主机不做任何回应,由于源主机IP是私有的,禁止在公网使用,所以必须将数据包的源发送地址修改成公网上可用的IP,这就是网关收到数据包之后首先要做的工作# --IP转换,然后网关将数据包发往目的主机,目的主机收到数据包后,认为这是网关发送的请求,并不知道内网主机的存在,目的主机处理完请求后,把回应消息发还给网关,网关收到后,将目的主机发还的数据包的目的地值修改i为发出请求的内网主机的IP地址,并将其发给内网主机,这是网关的第二个工作---数据包的路由转发,内网的主机只要查看数据包的ip与发送请求的源主机IP地址一致,就会回应,完成一次请求。

处于安全考虑,Linux系统默认是禁止数据包转发的,所谓转发,即主机拥有一块或多块网卡时,其中一块收到数据包,根据数据包的目的地址发往本机的另一网卡,该网卡根据路由表继续发送数据,这通常是路由器所要实现的功能。

# cat /proc/sys/net/ipv4/ip_forward

1 *为1 表示允许数据包转发,为0表示不支持数据包转发*

重启网络服务或主机后效果不再。若要其自动执行,可将命令echo "1" > /proc/sys/net/ipv4/ip_forward 写入脚本/etc/rc.d/rc.local 或者 在/etc/sysconfig/network脚本中添加 FORWARD_IPV4="YES"



参考博客:http://www.cnblogs.com/jackhub/p/3575879.html