我们一直在试图设置一个Linux / BSD / etc盒子,它既可以作为互联网网关,也可以作为路由器。 我不知道如何expression我们的情况,所以请原谅我…
目前我们正在使用Vyatta以下networking接口(带有掩码的IP地址):
eth0 – > xxx178 / 30 – WAN(上行路由器:xxx177)
vlan100 – >连接到eth0 br100 – > yyy1 – 桥梁eth0.vlan100和eth1 eth1 – > yyyy / 24 – 与WAN桥接(xxx178是此子网的上游路由器) eth2 – > 10.10.0.1/16 – 专用networking,通过yyy1进行NAT 问题是:当我们将NAT规则设置为通过br100路由10.10.0.0/16stream量时,没有任何路由。 但是,如果我们将NAT规则设置为通过eth0进行路由,则stream量实际上会路由,但现在它来自xxx178地址,而不是yyy1地址。
我在这里做错了什么? 任何想法或build议都会有所帮助。
当前configuration(减去一些绒毛):
interfaces { bridge br100 { address yyy1/24 } ethernet eth0 { address xxx178/30 vif 100 { bridge-group { bridge br100 } } } ethernet eth1 { bridge-group { bridge br100 } } ethernet eth2 { address 10.10.0.1/16 } loopback lo { } } services { nat { rule 1 { outbound-interface br100 source { address 10.10.0.0/16 } type masquerade } } } system { gateway-address xxx177 }
我们能够解决这个问题的方法是将NAT规则改为SNAT而不是伪装。
在大多数发行版中,除非它们被设置为路由器,否则将默认拒绝转发IPstream量的行为。 通常我使用一个packetprotector(在华硕家庭路由器上运行的linux)进行这样的工作。 但是你会想检查/etc/sysctl.conf中的设置。
寻找'net.ipv4.ip_forward =',如果你想转发stream量,这个值应该被设置为1(如果不是'0')。 在此处更改文件将在重新启动时保持更改,并在networking服务启动时启动。
我会build议你使用pfSense 。
它有一个非常好的基于Web的界面。