从子网 B 访问子网 A 上的设备

从子网 B 访问子网 A 上的设备

大家好,我整天都在绞尽脑汁,并且还会继续这样做,但希望有人能给我指明方向。

我的路由问题

我目前正在尝试将 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 摄像头:)。

相关内容