记录磊科B39路由器跨域组网遇到的问题

公司网络与家庭网络组建局域网,使用xl2tp拨号。

网络结构

网络端 内网段 路由器 内网IP 公网IP xl2tp端类型
家庭网络A 192.168.0.0/24 磊科NBR100 192.168.0.2 服务端
公司网络B 192.168.10.0/24 磊科B39 192.168.10.1 客户端

成功建立连接后,分配IP如下:

A服务端 B客户端
10.0.2.1 10.0.2.2

存在问题

B端内网能ping通A端内网IP,但A端无法ping通B端内网。

由于之前在B端用的是磊科B6路由器,组网没有任何问题,因此问题定位在B39(刚换的设备)。

连接B39路由器控制台:

bash 复制代码
ssh 192.168.10.1

进去后发现系统是openwrt 21。

经过多番查找,问题定位在防火墙配置:

bash 复制代码
vi /etc/config/firewall

...
config zone
        option name 'wan'
        list network 'wan1'
        list network 'wan1_ipv6'
        list network 'wan2'  
        list network 'vpn0'   # 1. vpn0被加入了wan
        option input 'REJECT'  
        option output 'ACCEPT'
        option forward 'REJECT'
        list masq_src '192.168.10.0/24'
...
config zone 'vpn0'       
        option name 'vpn0' 
        list network 'vpn0'     
        option input 'REJECT'    # 3. 入站拒绝
        option output 'ACCEPT'
        option forward 'REJECT'  # 2. 转发被拒绝
        option masq '1'       
        option mtu_fix '1'

注意两处注释:

    1. vpn0被加入了wan,导致从A过来的数据到达vpn0时被拒绝
    1. vpn0默认也是拒绝转发

从这里可以看出,B39的虚拟网络拨号功能并不是为跨域组网设计,翻墙倒是可以用,但翻墙策略也没地方设置,这就有点鸡肋了。

修改方案

首先将1注释掉,再将2改为ACCEPT,重启防火墙:

bash 复制代码
service firewall restart

从A内网ping B内网成功!

但这里需要注意的是,直接ping B路由器的内网IP是不通的(ping 192.168.10.1或ping 10.0.2.2),因为上面注释的第3条拒绝导致。如果需要能ping通,第3条改为'ACCEPT'即可。不过实际应用中这里不需要开启,拒绝A网访问B网的路由器设备是合理的。

新的问题

B内网ping A内网不通了!!!

这是由于上面的第1条被删除,导致vpn0不在wan口区域内,来自B内网的数据包无法转发出去。

事实上,从B控制台ping A子网IP是通的,所以其实加一条路由就能通过。不过这样需要把A子网网段硬编码到路由规则中,时间久了如果出问题难以定位。

如果恢复第1条又会导致A ping B 不通。这样则需要为vpn0添加一条转发规则:

bash 复制代码
config forwarding
        option src 'vpn0'
        option dest 'lan' 

解决方案

bash 复制代码
...
config zone
        option name 'wan'
        list network 'wan1'
        list network 'wan1_ipv6'
        list network 'wan2'  
        list network 'vpn0'   # 1. 这里保留,不要注释
        option input 'REJECT'  
        option output 'ACCEPT'
        option forward 'REJECT'
        list masq_src '192.168.10.0/24'
...
config zone 'vpn0'       
        option name 'vpn0' 
        list network 'vpn0'     
        option input 'REJECT'
        option output 'ACCEPT'
        option forward 'ACCEPT'  # 2. 这里改为ACCEPT
        option masq '1'       
        option mtu_fix '1'

# 添加一条vpn0转发规则
config forwarding
        option src 'vpn0'
        option dest 'lan' 

重启服务后,两端内网都能ping通了。

遗留问题

在B路由器重启后,A仍然能ping通B内网,但返回过来就不行了。登录B控制台查看/etc/config/firewall,配置并未被还原。于是重启防火墙,发现又正常了。但总不能每次重启路由器都要进控制台操作一次吧。

这个问题有一个折衷方案:在B管理页面添加一条静态路由, 192.168.0.0/24 走 10.0.2.1,这样就正常了。

为什么重启防火墙就正常了呢?重启路由器后,在重启防火墙前后我查看了ip route路由表并无变化,这是什么原因。有没有懂的朋友指点下。

相关推荐
andxe10 小时前
安科士 AndXe 技术博客:400G QSFP112 SR4 光模块|AI 算力与超算短距互联最优方案
网络·人工智能·光模块·光通信
shiyi.十一11 小时前
第2章:应用层 — 知识要点与架构
网络·计算机网络·架构
DFT计算杂谈11 小时前
无 Root 权限在 Tesla K80 零门槛部署 DeepSeek 大模型
linux·服务器·网络·数据库·机器学习
水境传感 李兆栋11 小时前
GNSS 位移监测站 :毫米级感知,筑牢安全监测防线
网络
中微极客13 小时前
2026主流AI Agent框架技术选型与性能对比
运维·网络·人工智能
猿的天空17 小时前
机器人双手迎来全栈训练系统:灵初智能EgoSteer让灵巧手无所不能
网络·人工智能·计算机·ai·程序员·机器人·编程
Xzaveir_77717 小时前
OPPO、vivo、荣耀号码认证:多终端拨测矩阵与异常复现
大数据·网络·科技·矩阵·产品经理·ai-native
wuqingshun31415917 小时前
从网络角度来看,用户从输入网址到网页显示,期间发生了什么?
网络
牛马工作号17 小时前
Zigbee 专业详解:从协议到排障
网络·物联网·安全
牛马工作号17 小时前
Wi‑Fi 完全指南:从 802.11 协议到 Wi‑Fi 7、AC+AP 与 Mesh 工程组网
网络·网络协议·智能路由器