我有一台运行 OpenWRT 的单板计算机。计算机有两个网络接口:
eth0 - 以太网 RJ45 插孔
wwan0 - 连接无线网卡
我有一个 IP 摄像头插入 eth0(RJ45 插孔)。 wwan0 已连接到互联网。相机被配置为将其数据发送到世界上某个特定的 IP 地址,所以我建立了一个桥接器。这个想法是,进入 eth0 的视频流将直接重定向到 wwan0 并进入互联网。
brctl addbr br0 #create the bridge
brctl addif br0 wwan0 #add wwan0 interface
udhcpc -i br0 #dhcp the bridge - have to do this before adding eth0
brctl addif br0 eth0 #add eth0 to bridge
ifconfig br0 up
这是 ifconfig 的结果:
br0 Link encap:Ethernet HWaddr 00:D0:12:0F:F1:4F
inet addr:100.64.186.196 Bcast:100.64.186.199 Mask:255.255.255.248
inet6 addr: fe80::2496:ebff:fe88:58a1/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:18 errors:0 dropped:0 overruns:0 frame:0
TX packets:22 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1508 (1.4 KiB) TX bytes:2416 (2.3 KiB)
eth0 Link encap:Ethernet HWaddr 00:D0:12:0F:F1:4F
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:170 errors:0 dropped:0 overruns:0 frame:0
TX packets:79 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:11782 (11.5 KiB) TX bytes:25432 (24.8 KiB)
wwan0 Link encap:Ethernet HWaddr 26:96:EB:88:58:A1
inet addr:100.64.186.196 Bcast:100.64.186.199 Mask:255.255.255.248
inet6 addr: 2600:1011:b161:25af:34dc:4dd1:cc08:14a2/128 Scope:Global
inet6 addr: fe80::2496:ebff:fe88:58a1/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:189 errors:0 dropped:0 overruns:0 frame:0
TX packets:254 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:16145 (15.7 KiB) TX bytes:25802 (25.1 KiB)
当我设置 IP 摄像头时,我只给它一个任意的静态 IP,比如 192.168.1.100。但它要求提供网关地址,默认为 192.168.1.1。在这种情况下,合适的网关地址是什么?显然任何地方都没有 192.168.1.1。我是否需要将 192.168.1.1 分配给 eth0,以便相机有一个“网关”来发送数据?
答案1
不,您不能只给它一个任意的 IP 地址。我看到您有一个公共 /29 子网,即地址范围为 100.64.186.193 到 100.64.186.198,其中 0.196 由 wwan0 占用。例如,您应该能够为相机选择 100.64.186.193。网关应该是单板机使用的网关,可以通过 看到ip route
。
计算机如何获取其地址?如果通过 DHCP,我建议也将其用于相机(如果相机支持)。
另一种选择是将摄像头置于 NAT 后面。有关如何设置的信息,请参阅 OpenWRT 文档。