两台运行openwrt路由器,如何设置adhoc模式,实现互联互通


要让两台运行 OpenWrt 的路由器通过 Ad-Hoc 模式实现互联互通,可以按照以下步骤操作:

  1. 确保无线网卡支持 Ad-Hoc 模式

在 OpenWrt 上执行以下命令,检查无线网卡是否支持 Ad-Hoc 模式:

iw list

在输出的 Supported interface modes 中寻找 IBSS,如果存在,则支持 Ad-Hoc 模式。


  1. 配置无线网络为 Ad-Hoc 模式

分别在两台路由器上修改无线配置文件 /etc/config/wireless。

示例配置:

假设两台路由器需要通过 adhoc 网络互联,网络名称为 adhoc-network,频率为 2412 MHz (信道 1),加密方式为 WPA2。

编辑 /etc/config/wireless,添加或修改以下内容:

config wifi-device ‘radio0’ option type ‘mac80211′ option hwmode ’11g’ # 或 ’11a’,根据你的设备支持的频段 option channel ‘1’ # 信道需两台保持一致 option htmode ‘HT20’ # 或其他支持的模式,如 VHT80 option country ‘US’

config wifi-iface option device ‘radio0’ option network ‘adhoc’ # 网络接口名称 option mode ‘adhoc’ option ssid ‘adhoc-network’ option encryption ‘psk2’ # 设置加密类型 option key ‘password123’ # 密钥


  1. 配置网络接口

编辑 /etc/config/network,为 adhoc 接口分配静态 IP 地址。

示例配置:

在每台路由器中,为 Ad-Hoc 网络设置不同的静态 IP 地址,并确保它们在同一网段中。

路由器 1:

config interface ‘adhoc’ option proto ‘static’ option ipaddr ‘192.168.100.1’ option netmask ‘255.255.255.0’

路由器 2:

config interface ‘adhoc’ option proto ‘static’ option ipaddr ‘192.168.100.2’ option netmask ‘255.255.255.0’


  1. 重启网络服务

在两台路由器上执行以下命令:

/etc/init.d/network restart


  1. 测试连接

在任意一台路由器上尝试 ping 另一台的静态 IP 地址:

ping 192.168.100.2 # 从路由器 1 测试到路由器 2 ping 192.168.100.1 # 从路由器 2 测试到路由器 1

如果能成功 ping 通,说明 Ad-Hoc 网络已经建立,路由器互联互通。


  1. (可选)配置路由

如果需要让其他设备通过路由器访问 Ad-Hoc 网络,可以配置静态路由或启用 NAT 转发,具体步骤根据网络需求调整。


为了让两台路由器的 网口(LAN/WAN 口)通过 Ad-Hoc 模式实现互联互通,需要正确设置路由和防火墙规则,使两边的网口网络能够相互访问。以下是详细步骤:


假设网络拓扑

路由器 A:

LAN 网段:192.168.1.0/24(IP:192.168.1.1)

Ad-Hoc IP:192.168.100.1

路由器 B:

LAN 网段:192.168.2.0/24(IP:192.168.2.1)

Ad-Hoc IP:192.168.100.2


  1. 配置 Ad-Hoc 网络的静态路由

为了让两台路由器的 LAN 网段可以通过 Ad-Hoc 网络访问对方,必须在两边分别添加静态路由。

在路由器 A 上:

告诉路由器 A,如何通过 Ad-Hoc 网络访问路由器 B 的 LAN 网段:

uci add network route uci set network.@route[-1].interface=’adhoc’ uci set network.@route[-1].target=’192.168.2.0′ uci set network.@route[-1].netmask=’255.255.255.0′ uci set network.@route[-1].gateway=’192.168.100.2′ uci commit network /etc/init.d/network restart

在路由器 B 上:

告诉路由器 B,如何通过 Ad-Hoc 网络访问路由器 A 的 LAN 网段:

uci add network route uci set network.@route[-1].interface=’adhoc’ uci set network.@route[-1].target=’192.168.1.0′ uci set network.@route[-1].netmask=’255.255.255.0′ uci set network.@route[-1].gateway=’192.168.100.1′ uci commit network /etc/init.d/network restart


  1. 修改防火墙规则

确保 Ad-Hoc 网络和 LAN 网络之间允许相互访问。

在路由器 A 上:

编辑 /etc/config/firewall,添加以下规则:

config rule option name ‘Allow-LAN-to-Adhoc’ option src ‘lan’ option dest ‘adhoc’ option target ‘ACCEPT’

config rule option name ‘Allow-Adhoc-to-LAN’ option src ‘adhoc’ option dest ‘lan’ option target ‘ACCEPT’

在路由器 B 上:

类似地,编辑 /etc/config/firewall,添加:

config rule option name ‘Allow-LAN-to-Adhoc’ option src ‘lan’ option dest ‘adhoc’ option target ‘ACCEPT’

config rule option name ‘Allow-Adhoc-to-LAN’ option src ‘adhoc’ option dest ‘lan’ option target ‘ACCEPT’

应用防火墙配置:

在两台路由器上运行:

/etc/init.d/firewall restart


  1. 测试互联

测试 LAN 到 LAN 通信: 从路由器 A 的 LAN 网段中的设备尝试访问路由器 B 的 LAN 网段中的设备,例如:

ping 192.168.2.100 # 测试 B 的设备

测试路由器之间互通: 测试从路由器 A 到路由器 B 的 LAN IP 地址:

ping 192.168.2.1


  1. 其他注意事项
  2. IP 地址规划:确保两台路由器的 LAN 网段不冲突。

  3. 广播和服务:如果需要跨网段访问广播服务(如共享打印机、DLNA),可能需要配置 IGMP Proxy 或 mDNS 中继。

  4. 性能调优:Ad-Hoc 网络性能较低,建议根据需求选择合适的信道和频宽。

通过以上配置,两台路由器的 LAN 网段可以通过 Ad-Hoc 网络实现互联互通。