ip_forward

来源:互联网 发布:神州数码 知乎 编辑:程序博客网 时间:2024/06/06 03:50

ip地址分公有地址和私有地址,public address(internet network information center)负责,这些ip地址分配给注册并向INIC提出申请的组织机构通过它访问internetprivate address是属于非注册地址,专门为组织内部使用,private address是不可能直接用来跟WAN通信的,要么利用帧来通信(FRE帧中继,HDLCPPP)要么需要路由的NAT功能把私有地址转换为一个公有ip


选择一台电脑(有两个网卡或者用单网卡然后用软件虚拟多一个网卡)充当网关,一个网卡(eth0)连接外网ISP,另一网卡(eth1)连接内网(即局域网)。局域网内的ip地址都是私用地址,只能在内部使用,在公网上是不可见的,所以局域网电脑要上网必须修改ip,这就是网关的工作。

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

出于安全考虑,Linux系统默认是禁止数据包转发的。所谓转发即当主机拥有多于一块的网卡时,其中一块收到数据包,根据数据包的目的ip地址将包发往本机另一网卡,该网卡根据路由表继续发送数据包。这通常就是路由器所要实现的功能。
配置Linux系统的ip转发功能,首先保证硬件连通,然后打开系统的转发功能
less/proc/sys/net/ipv4/ip_forward,该文件内容为0,表示禁止数据包转发,1表示允许,将其修改为1。可使用命令echo"1" > /proc/sys/net/ipv4/ip_forward修改文件内容,重启网络服务或主机后效果不再。若要其自动执行,可将命令echo "1" >/proc/sys/net/ipv4/ip_forward 写入脚本/etc/rc.d/rc.local 或者在/etc/sysconfig/network脚本中添加FORWARD_IPV4="YES"

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 2岁吃多了呕吐怎么办啊 小孩吃撑了吐怎么办 三岁宝宝吃太多怎么办 小孩吃撑发烧了怎么办 婆婆不帮忙带孩子怎么办 孩子在中班幼儿园不爱写字怎么办 小孩不愿意上学不愿意写字怎么办 宝妈太内向不喜欢带孩子出门怎么办 宝宝吃饭不带围兜怎么办 宝宝吃饭不喜欢带围兜怎么办 宝宝吃饭不爱带围兜怎么办 孩子不吃肉和菜怎么办 我很恶心我婆婆怎么办 坐月子不喜欢婆婆抱宝宝怎么办 宝宝一写字就哭怎么办 4岁宝宝不爱学习怎么办 4岁宝宝不爱写字怎么办 孩子调皮老师不让上学了怎么办 小学生写字握笔握出剪子来怎么办 儿子6岁不会写字怎么办 宝宝在幼儿园不说话怎么办 孩子上幼儿园不说话怎么办 幼儿写数字不写怎么办 小孩不吃饭怎么办 十个月 十个月小孩不爱吃饭怎么办 十个月的小孩不吃饭怎么办 家长要调幼儿园监控怎么办 自己带孩子婆婆生气怎么办 婆婆老是觉得我奶水不够怎么办 1岁小儿特别懒怎么办 17的孩子很懒怎么办 上大班的孩子不愿写字怎么办 快上中班的小朋友不爱学习怎么办 小学生两边肩膀不平应该怎么办 写字右肩膀疼是怎么办 开车久了肩膀疼怎么办 3岁宝宝撕书怎么办 孩子上幼儿园不爱写字怎么办 一年级小孩不爱做作业怎么办 小孩不愿多做作业怎么办 小孩一年级不自觉做作业怎么办