首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在OpenWRT / LEDE中定义两个子网之间的静态路由?

如何在OpenWRT / LEDE中定义两个子网之间的静态路由?
EN

Server Fault用户
提问于 2017-11-11 10:42:41
回答 2查看 21.2K关注 0票数 0

根据在这里迁移了问题。这是供酒店无线覆盖的。

我需要解释DD-WRT的这里,但我使用的是OpenWRT和LEDE。我需要在子网络之间建立路由(网关),但我被困在了这一步。OpenWRT指南说要这样做:https://wiki.openwrt.org/doc/recipes/routedclient

在固定广域网地址后,必须向接入点添加一条静态路由,并提供以下信息: IP地址: 192.168.2.1 (我们局域网接口的IP地址)目标局域网(DD-WRT所需):192.168.2.0 (我们的局域网接口子网)Net掩码: 255.255.255.0 (我们局域网接口的网络掩码)网关: 192.168.1.30 (我们广域网接口的IP地址)

它并没有说明如何做到这一点。我知道通常有两种方式:一种是暂时的,另一种是持之以恒的。我怎样才能做到这一点?(我理解需要发生什么,只是不知道如何实现)如果有人想知道我尝试过什么,我很乐意添加更多的信息。

作为尝试,我尝试向路由器1(/etc/config/network)添加一条路由:

代码语言:javascript
复制
# Route to router 3 subnet
config route
  option interface lan
  # remote subnet that route is for (called destination on dd-wrt i think)
  option target     10.0.1.0
  # net mask of subnet on router 3)
  option netmask    255.255.255.0
  # ip address of next hop to destination subnet, router 3 wan
  option gateway    10.0.3.1

如果这是正确的,我是否应该能够从路由器3平10.0.1.1?

类型学

我的网络拓扑非常类似于这个,除了我有3个路由器。我用一个逻辑的、容易记住的方案构建了我的子网:

专用(每个路由器一个子网;私有网为10.0 )

  1. 10.0.1.0/24专用子网1,路由器为10.0.1.1/24 (这也是pppeo上的因特网提供商)
  2. 10.0.2.0/24专用子网2,路由器在10.0.2.1/24 (路由客户端)
  3. 10.0.3.0/24专用子网3,路由器在10.0.3.1/24 (路由客户端)

来宾(每个路由器有一个子网;客户网为10.1 )

  1. 10.1.1.0/24客户子网1,路由器为10.1.1.1/24
  2. 10.1.2.0/24客户子网2,路由器位于10.1.2.1/24 (路由客户端)
  3. 10.1.3.0/24客户子网3,路由器位于10.1.3.1/24 (路由客户端)

所有路由器都是通过后端无线网络连接的,就像图中一样--每个路由器的wan上都有一个静态ip地址。在我的例子中,主网络是10.0.1.0/24 (在图中代表192.168.1.0/24 )。

Notes

我希望采用路由方式(而不是WDS或伪装)来灵活地添加安全层(例如,跨多个接入点连接来宾子网,跨多个接入点连接私有子网,将客人与专用网络隔离开来,为每个人提供互联网接入)。我只是希望我登录到路由器2或3,运行ping 10.0.1.1,并得到一个答案!我只得到"pingto: sendto: get是不可及的“。

在Icidu上使用OpenWRT (改名为TL-wr1043ND,已黑),在Linksys WRT1900WC上使用LEDE。

EN

回答 2

Server Fault用户

回答已采纳

发布于 2017-11-11 14:05:32

192.168.1.0/24上的路由器应该有一条从192.168.1.30到192.168.2.0.24的路由。您可以将其添加到此网络上的各个设备中。

无线路由器应该将所有通信量路由到地址192.168.1.1的路由器。然而,它可能是伪装(NATing)流量。如果您希望192.168.1.0/24上的设备能够连接到192.168.2.0/24上的设备,则禁用192.168.1.1/24的通信量伪装。

在192.168.1.1路由器的控制面板中添加路由,保存并应用。这应该使它持续下去。通过执行路由命令添加路由将不会持久。但是,如果您可以添加在重新启动时运行的命令,那么这也将是持久的。

票数 1
EN

Server Fault用户

发布于 2018-10-21 09:26:54

使用OpenWRT或LEDE的路由网络解决方案。

也许最困难的部分是设置辅助路由器。这里,我提供了我对路由器3的更改(而不是全部文件)作为示例。

路由器3

/etc/config/network

设置局域网网络:我希望路由器3上的客户端从路由器3(不同于其他路由器的ip )获得ip地址:

代码语言:javascript
复制
config interface 'lan'
    option ifname 'eth1'
    option type 'bridge'
    option proto 'static'
    option ipaddr '10.0.3.1'
    option netmask '255.255.255.0'

请注意,WAN保持在DHCP模式下,以便可以从路由器1获取ip地址(10.0.1.3)。

代码语言:javascript
复制
# WAN ACQUIRES IP FROM ROUTER 1
config interface 'wan'
    option ifname 'eth0'
    option proto 'dhcp'

将静态路由添加到其他子网(目标是其他子网)

代码语言:javascript
复制
# ADD STATIC ROUTE TO ACCESS SUBNET 10.0.1.0 from 10.0.3.0
config route
    option interface 'lan'
    option target '10.0.1.0'
    option netmask '255.255.255.0'
    option gateway '10.0.1.3'

# ADD STATIC ROUTE TO ACCESS SUBNET 10.0.2.0 from 10.0.3.0
config route
    option interface 'lan'
    option target '10.0.2.0'
    option netmask '255.255.255.0'
    option gateway '10.0.1.2'

# Gateway - This must be set to the IP address of the next hop to the 
# destination subnet which in this case is the WAN IP of Router2 and Router3. 
# In networks with more devices the next hop may not be the device that is 
# directly connected to the subnet.

/etc/config/dhcp

我不得不对dnsmasq配置做一些小调整。在这里,我通过将路由器3上的所有请求转发到路由器1上的单个DNS,省去了对所有客户端的DNS管理。不幸的是,我仍然在手动允许域重新绑定一些东西,这违背了目的。

代码语言:javascript
复制
config dnsmasq
    option domainneeded '1'
    option boguspriv '1'
    option filterwin2k '0'
    option localise_queries '1'
    option rebind_protection '1'
    option rebind_localhost '1'
    option local '/lan/'
    option domain 'lan'
    option expandhosts '1'
    option nonegcache '0'
    option cachesize '1000'
    option authoritative '1'
    option readethers '1'
    option leasefile '/tmp/dhcp.leases'
    option resolvfile '/tmp/resolv.conf.auto'
    option localservice '1'
    # CHANGE
    list server '10.0.1.1'# Clients will still call 10.0.3.1 but dns list is at router 1
    list rebind_domain '.mydomain.com' # Allow rebind to web server hosted on 10.0.1.x
    list rebind_domain 'plex.direct'

/etc/config/firewall

这是最棘手的部分,因为如果你把这件事搞砸了,什么也做不了。因为路由器3落后于路由器1,而且我知道路由器1是安全的(我的另一个子网,而不是互联网),所以我打开了广域网,以允许网络间的通信。

代码语言:javascript
复制
config zone
    option name 'wan'
    list network 'wan'
    list network 'wan6'
    # CHANGE FOR AUX ROUTER WAN. NORMALLY REJECT.
    option input 'ACCEPT'
    option output 'ACCEPT'
    option forward 'REJECT'
    # CHANGE. NO NEED TO MASQUERADE WHEN ROUTING.
    option masq '0'
    option mtu_fix '1'

# CHANGE. ADDED FOR SUBNET 1 TO SUBNET 3 COMM
config forwarding
    option src 'wan' 
    option dest 'lan'

config forwarding
    option src 'lan'
    option dest 'wan'

# CHANGE. ADDED TO TRY AND FORCE ALLOW LAN PING
config rule
        option name 'Allow-Ping-LAN'
        option src 'lan'
        option proto 'icmp'
        option icmp_type 'echo-request'
        option family 'ipv4'
        option target 'ACCEPT'

你也需要把这个东西添加到所有的路由器上,这样维护成本就会增加。

代码语言:javascript
复制
config rule
        option name 'Allow-Avahi'
        option src 'lan'
        option dest 'lan'
        option dest_port '5353'
        option proto 'udp'
        option target 'ACCEPT'
        option src_port '5353'

config rule
        option name 'Allow-PlexLocalStuff'
        option src 'lan'
        option dest 'lan'
        option dest_port '32410 32412 32413 32414 1900 3005 32469 8324'
        option proto 'udp'
        option target 'ACCEPT'
        option src_port '32410 32412 32413 32414 1900 3005 32469 8324'
票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/882970

复制
相关文章

相似问题

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