大家早上好,请注意,这可能会变得相当肮脏。
我有一个相当奇怪的网络配置,其中有一台笔记本电脑(lubuntu),带有多个 USB <-> WIFI 加密狗(笔记本电脑 wlan0 + wlan1)以及一个以太网连接到 openwrt 路由器,该路由器充当多个 WIFI 称重传感器的接入点。
openwrt 路由器为称重传感器运行 DHCP 服务器。每个摄像头都充当加密狗的接入点和 DHCP 服务器,我无法配置它们内部的 DHCP(廉价的 GoPro 克隆)。veth0 是一个虚拟接口,我希望不同的加密狗映射到它并具有透明连接,这样我就可以从笔记本电脑端用 192.168.3.10 寻址摄像头 A,用 192.168.3.11 寻址摄像头 B。
所以问题是,所有 WIFI 加密狗在同一个子网内都有相同的 IP。
问题:如果可能的话,我该如何配置 iptables 链和路由才能使其正常工作?摄像头无需与 192.168.1.x 网络通信,只需笔记本电脑单独访问它们即可。
问候,lor
答案1
好吧,我想到了一些可行的方法,尽管它与原始问题有些不同:
ifconfig eth1 192.168.4.1/24 up
iptables -t mangle -A OUTPUT -d 192.168.4.13 -j MARK --set-mark 1
iptables -t nat -A OUTPUT -d 192.168.4.13 -j DNAT --to 192.168.4.4
ip rule add priority 1000 fwmark 0x01 table eth1_table
ip route add table eth1_table 192.168.4.4/32 dev eth1
iptables -t nat -A INPUT -i eth1 -s 192.168.4.4 -j SNAT --to 192.168.4.13
ifconfig eth2 192.168.4.1/24 up
iptables -t mangle -A OUTPUT -d 192.168.4.14 -j MARK --set-mark 2
iptables -t nat -A OUTPUT -d 192.168.4.14 -j DNAT --to 192.168.4.4
ip rule add priority 1001 fwmark 0x02 table eth2_table
ip route add table eth2_table 192.168.4.4/32 dev eth2
iptables -t nat -A INPUT -i eth2 -s 192.168.4.4 -j SNAT --to 192.168.4.14
我现在可以通过 IP 13 和 14 访问不同网卡上的每个摄像头,并且它们使用这些 IP 响应笔记本电脑。