首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ubuntu没有在两个接口之间转发通信量

问Ubuntu没有在两个接口之间转发通信量
EN

Server Fault用户
提问于 2013-10-14 19:29:38
回答 1查看 2.5K关注 0票数 0

我有一个简单的网络,两台Linux机器都是ubuntu。

Linux #1 (eth0:192.168.1.10) <--> Linux #2 (eth1: 192.168.1.11) +-+ (eth2: 192.168.2.10) +--+ FW (192.168.2.11)

基本上,我希望Linux #1的流量能够在互联网上运行,我认为我需要将Linux #2作为路由器。什么在起作用

在Linux #1中,我可以平192.168.1.11和192.168.2.10,而不能平192.168.2.11。

我在Linux #2上启用了sysctl -w net.ipv4.ip_forward=1,并关闭了防火墙服务ufw停止。

在Linux#1上,我有以下路由-n

代码语言:javascript
复制
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.1.11      0.0.0.0         UG    0      0        0 eth0
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0

在Linux#2上,我有以下内容

代码语言:javascript
复制
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.2.11     0.0.0.0         UG    0      0        0 eth2
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 eth1
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth1
192.168.2.0     0.0.0.0         255.255.255.0   U     0      0        0 eth2

我错过了什么?

EN

回答 1

Server Fault用户

回答已采纳

发布于 2013-10-15 09:07:24

网络配置似乎没有问题。

我认为您在这里缺少的是Linux #2计算机上的SNAT规则(或伪装为SNAT的接口)。我建议备份您的IPTables并使用以下内容:

-t nat -A POSTROUTING -o eth1 -j SNAT -至192.168.2.11

http://www.netfilter.org/documentation/HOWTO/NAT-HOWTO-6.html#ss6.1

我认为数据包到达.2.11,但由于数据包中指定的源地址,它找不到返回到Linux #1的方法。这可以确保数据包有一个源地址192.168.2.11,因此Linux #1认为它是期望的包。

票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/545937

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档