![从子网 B 访问子网 A 上的设备](https://linux22.com/image/781466/%E4%BB%8E%E5%AD%90%E7%BD%91%20B%20%E8%AE%BF%E9%97%AE%E5%AD%90%E7%BD%91%20A%20%E4%B8%8A%E7%9A%84%E8%AE%BE%E5%A4%87.png)
大家好,我整天都在绞尽脑汁,并且还会继续这样做,但希望有人能给我指明方向。
我目前正在尝试将 IP 摄像头直接插入具有 eth0 和 wlan0 接口的 ubuntu 机器。我正在尝试对其进行路由,以便子网 A 上的 PC 可以访问子网 B 上的 IP 摄像头。到目前为止,我已经设法让 PC 访问机器上的 eth0,但不能访问 IP 摄像头。我这样做的方法是:route add -net xx1.0 netmask 255.255.255.0 gw wlan0.ip.address
我尝试过:route add -net xx0.0 netmask 255.255.255.0 gw eth0.ip.address,但这会导致网络崩溃。这是有道理的,因为我相信它已经有了该网络掩码的路由。我尝试使用 dhcp.conf 设置 dhcp 服务器
option domain-name "somedhcpserver";
option domain-name-servers wlan.ip.address;
option routers x.x.1.1;
option ntp-servers wlan.ip.address;
default-lease-time 14440;
ddns-update-style none;
deny bootp;
shared-network intranet {
subnet x.x.1.0 netmask 255.255.255.0 {
option subnet-mask 255.255.255.0;
pool { range x.x.1.5 x.x.1.15; }
}
}
但这似乎没有任何作用。
我还尝试设置一些 iptable 规则:
sudo iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
sudo iptables -A FORWARD -i eth0 -o wlan0 -s x.x.1.0/24 -m conntrack --ctstate NEW -j ACCEPT
iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
我想我必须尝试配置 IP Cam 以某种方式允许路由(直接插入路由器),但如果能得到任何帮助我将不胜感激。
答案1
好的,我让它工作了......
我做了几件事,不确定哪一件事能让双方沟通顺畅。
选项路由器 xx1.1;应该是选项路由器 eth0.ip.address;
我也做了:
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
为了保险起见,我又设置了另一条路线
sudo ip route replace default via wlan.ip.address
最后我将 IP Cam 上的网关和 DNS 服务器设置为与 eth.ip.address 相同。
希望这可以帮助某人在不将其插入路由器的情况下设置 IP 摄像头:)。