想问一下怎么设置才能转发流量

2017-04-22 14:19:03 +08:00
 ericbize
老师要我们在电脑上开三个虚拟机,两个是内网,通过 nat 上网(单网卡),一个是内外网(双网卡), 那么我已经把三台机器的内网地址给设定好了,剩下的就是那台双网卡的机器怎么设置才能转发数据?

ipv4 forward 转发
iptables 要怎么设置,谢谢
用的是 ubuntu 16.04

<a href="http://imgur.com/n7nJ8kY"><img src="" title="source: imgur.com" /></a>
3978 次点击
所在节点    Linux
10 条回复
hepin1989
2017-04-22 14:22:13 +08:00
虽然对这块儿不懂,不过基于软件实现的不是更加灵活么?
[《 Netty 实战》即将上市了}( https://www.v2ex.com/t/356574)
ericbize
2017-04-22 14:26:03 +08:00
@hepin1989 明显老师是要我们弄 nat 转发, (我用 vpn 转发更好→_→ )
hepin1989
2017-04-22 14:33:35 +08:00
@ericbize 如果是这样的话,那么肯定是按照老师的要求做了, iptable 您看下吧。还有 lvs 。
[《 Netty 实战》即将上市了]( https://www.v2ex.com/t/356574)
mrsatangel
2017-04-22 14:36:46 +08:00
iptables -t nat -A POSTROUTING -s 192.168.3.0/255.255.255.0 -o <外网 iface> -j MASQUERADE
raysonx
2017-04-22 14:37:08 +08:00
以下步骤仅供参考,其中步骤二到四仅适用于 ipv4 。 ipv6 协议同理变通。
1.双网卡的 vm 作为另两台的默认网关。
2.双网卡机器开启路由模式: sysctl net.ipv4.ip_forward=1
3.双网卡机器记得防火墙要允许从内外网网卡之间的转发。例如 iptables -I FORWARD -i 内网网卡 -o 外网网卡 -j ACCEPT 和 iptables -I FORWARD -i 外网网卡 -o 内网网卡 -j ACCEPT
4.双网卡机器开 nat ,例如 iptables -t nat -I POSTROUTING
-o 外网网卡 -j MASQUERADE
raysonx
2017-04-22 14:38:53 +08:00
注意 Linux 的 nat 功能是由防火墙实现的,所以不能禁防火墙
holyzhou
2017-04-22 14:45:46 +08:00
@hepin1989 别误人子弟了好吗 怎么可能用软件做更好 系统层的东西,而且 iptables 跟 lvs 又扯上了 这广告做的 @livid

@ericbize 实际上你充当网络代理的那台机器上有两块网卡就够了。
1. 把充当路由器的那台机器的路由转发打开, 动 sysctl.conf
2. 在这台充当路由器的机器上增加 iptables 规则,接受你需要被代理网段从你另一块网卡(nat 的那块网卡)出去
3. 将需要被代理的机器的网关调整为充当路由器的这台机器(同网段的网卡 ip)

根据你图上来说,就是做了两层 nat
ericbize
2017-04-22 18:59:08 +08:00
还想请教,怎么样才能重启有效, 和 大小写 有影响吗? 谢谢
@raysonx
raysonx
2017-04-22 20:34:33 +08:00
@ericbize 大小写有影响。我是用手机打的字,出现错误也有可能,仅供参考。
sysctl 用来更改内核参数,要重启生效的话要把配置写在 /etc/sysctl.conf 。
iptables 的配置取决于发行版,可以用 iptables save 生成配置文件。
ericbize
2017-04-22 22:12:50 +08:00
@raysonx 谢谢,没有打错字。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/356626

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX