加入收藏 | 设为首页 | 会员中心 | 我要投稿 | 在线留言 | RSS
成网科技业务包括域名空间企业网站制作
 
国际域名com/net/org仅售80元/年
1G独立空间(PHP+MYSQL)仅售600元/年
您当前的位置:首页 > 操作系统 > LINUX技术

在Linux系统上实现IP转发的方法

时间:2015-08-29 12:11:56  来源:开源中文社区  作者:Arun Pyasi  点击:

大家好,今天我们学习一下在 Linux 上用 iptables 实现从一个网络接口到另一个接口的IP转发(数据包转发)。IP转发的概念是,使 Linux 机器像路由器一样将数据从一个网络发送到另一个网络。所以,它能作为一个路由器或者代理服务器,实现将一个连接的互联网或者网络连接共享给多个客户端机器。4te成网科技_开平网站建设_开平网站制作_开平企业网站_开平网页设计_江门网站建设

这是一些启用IP转发或网络包转发方法的简单步骤。4te成网科技_开平网站建设_开平网站制作_开平企业网站_开平网页设计_江门网站建设
1. 启用 IPv4 转发4te成网科技_开平网站建设_开平网站制作_开平企业网站_开平网页设计_江门网站建设

首先,我们需要在我们的 Linux 操作系统上启用 IPv4 转发。要做到这点,我们需要用 sudo 模式在 shell 或终端下执行下面的命令。4te成网科技_开平网站建设_开平网站制作_开平企业网站_开平网页设计_江门网站建设

   
复制代码代码如下:$ sudo -s4te成网科技_开平网站建设_开平网站制作_开平企业网站_开平网页设计_江门网站建设
# echo 1 > /proc/sys/net/ipv4/ip_forward4te成网科技_开平网站建设_开平网站制作_开平企业网站_开平网页设计_江门网站建设
2015724165356408.png (438×39)4te成网科技_开平网站建设_开平网站制作_开平企业网站_开平网页设计_江门网站建设

注意:上面的命令能马上启用ip转发,但只是临时的,直到下一次重启。要永久启用,我们需要使用我们惯用的文本编辑器打开 /etc/sysctl.conf 文件。4te成网科技_开平网站建设_开平网站制作_开平企业网站_开平网页设计_江门网站建设

   
复制代码代码如下: # nano /etc/sysctl.conf4te成网科技_开平网站建设_开平网站制作_开平企业网站_开平网页设计_江门网站建设

然后,增加 net.ipv4.ip_forward = 1 到文件中,或者删除那行的注释,保存并退出文件。4te成网科技_开平网站建设_开平网站制作_开平企业网站_开平网页设计_江门网站建设

   
复制代码代码如下:net.ipv4.ip_forward = 14te成网科技_开平网站建设_开平网站制作_开平企业网站_开平网页设计_江门网站建设
    2015724165418216.png (684×490)4te成网科技_开平网站建设_开平网站制作_开平企业网站_开平网页设计_江门网站建设

    运行下面的命令启用更改。4te成网科技_开平网站建设_开平网站制作_开平企业网站_开平网页设计_江门网站建设

   
复制代码代码如下: # sysctl -p /etc/sysctl.conf4te成网科技_开平网站建设_开平网站制作_开平企业网站_开平网页设计_江门网站建设
   2015724165456073.png (400×78)4te成网科技_开平网站建设_开平网站制作_开平企业网站_开平网页设计_江门网站建设

    2. 配置 Iptables 防火墙4te成网科技_开平网站建设_开平网站制作_开平企业网站_开平网页设计_江门网站建设

我们需要允许特定的(或者所有的)数据包通过我们的路由器。在这之前,我们要知道连接我们 Linux 的网络设备的接口名称。我们可以通过在终端或者 shell 运行以下命令获得接口名称。4te成网科技_开平网站建设_开平网站制作_开平企业网站_开平网页设计_江门网站建设

   
复制代码代码如下: # ifconfig -a4te成网科技_开平网站建设_开平网站制作_开平企业网站_开平网页设计_江门网站建设
2015724165518427.png (684×541)4te成网科技_开平网站建设_开平网站制作_开平企业网站_开平网页设计_江门网站建设

    这里,在我们的机器中, eth2 是连接到互联网或者网络的网卡接口, wlan2 是我们要使用 iptables 从 eth2 转发数据包的接口。要实现转发,我们需要运行以下命令。4te成网科技_开平网站建设_开平网站制作_开平企业网站_开平网页设计_江门网站建设

   
复制代码代码如下:# iptables -A FORWARD -i wlan2 -o eth2 -j ACCEPT4te成网科技_开平网站建设_开平网站制作_开平企业网站_开平网页设计_江门网站建设

注意:请用你 Linux 机器中的可用设备名称替换 wlan2 和 eth2。4te成网科技_开平网站建设_开平网站制作_开平企业网站_开平网页设计_江门网站建设

现在,由于netfilter/iptables是一个无状态的防火墙,我们需要让 iptables 允许已建立的连接通过。要做到这点,我们要运行下面的命令。4te成网科技_开平网站建设_开平网站制作_开平企业网站_开平网页设计_江门网站建设

    # iptables -A FORWARD -i eth2 -o wlan2 -m state --state ESTABLISHED,RELATED  -j ACCEPT4te成网科技_开平网站建设_开平网站制作_开平企业网站_开平网页设计_江门网站建设
    2015724165630146.png (644×71)4te成网科技_开平网站建设_开平网站制作_开平企业网站_开平网页设计_江门网站建设

    3. 配置 NAT4te成网科技_开平网站建设_开平网站制作_开平企业网站_开平网页设计_江门网站建设

然后,最后我们需要通过执行下面的命令修改发送到互联网的数据包的源地址为 eth2。4te成网科技_开平网站建设_开平网站制作_开平企业网站_开平网页设计_江门网站建设

    # iptables -t nat -A POSTROUTING -o eth2 -j MASQUERADE4te成网科技_开平网站建设_开平网站制作_开平企业网站_开平网页设计_江门网站建设
  2015724165656811.png (517×35)4te成网科技_开平网站建设_开平网站制作_开平企业网站_开平网页设计_江门网站建设

    总结4te成网科技_开平网站建设_开平网站制作_开平企业网站_开平网页设计_江门网站建设

最后,我们在我们以 iptables 作为防火墙 Linux 机器上成功的配置了从一个接口到另一个接口的数据包转发。这篇文章教给你将你的私有接口连接到互联网,不需要桥接接口,而是将从一个接口进来的数据包路由到另一个接口。就是这些,如果你有任何问题、建议、反馈,请写到下面的评论框中,然后我们可以改进或更新我们的内容。非常感谢!享受吧 :-)4te成网科技_开平网站建设_开平网站制作_开平企业网站_开平网页设计_江门网站建设
4te成网科技_开平网站建设_开平网站制作_开平企业网站_开平网页设计_江门网站建设

成网科技 www.it28.com竭诚为您服务!
开平网站建设_开平网站制作_开平企业网站_开平网页设计_江门网站建设_成网科技

更多
 


来顶一下
返回首页
返回首页
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
推荐资讯
相关文章
栏目更新
栏目热门