使用具有相同 IP 范围的两个不同网络

使用具有相同 IP 范围的两个不同网络

我的相机(Nikon D7500)硬编码使用 IP 地址 192.168.1.1,这与我的 LAN 网络范围(特别是我的路由器)相同,我想找到一种解决方案,让它连接起来,而无需每次都更改整个 LAN 或断开 LAN 连接。
我搜索了一种方法,通过伪装并为相机的地址创建某种别名(并将其设置为在正确的接口上将其转发到相机),但没有找到任何似乎相关的内容,我看到的唯一答案是说要更改其中一个网络的范围?

编辑:我找到了运行已分配 USB 无线 NIC 的 VM 的临时解决方案。

答案1

虽然在我看来这不是一个理想的解决方案,但我使用了网络命名空间并且它完成了工作,因为我使用了多个来源来找出如何做到这一点,所以我所做的是创建一个以 root 身份运行的小脚本:


ip netns add camera
iw phy phy0 set netns name camera
ip netns exec camera ip link set <ifname> up
ip netns exec camera wpa_supplicant -i <ifname> -D nl80211 -c <wpa_config> &
ip netns exec camera dhclient <ifname> 
ip netns exec camera <do the thing>
ip netns exec camera ip link set phy0 netns 1
ip netns pids camera | xargs kill
pids=`ip netns pids camera | wc -l`
if [ $pids -ne 0 ];then
    echo lingering processes, not deleting netns
    exit 1
fi
ip netns del camera

它的作用是:

  1. 创建一个名为camera的netns
  2. 将 phy0 卡添加到相机网络
  3. 开始链接
  4. 使用配置文件(使用 wpa_passphrase 创建)连接到 wifi 网络
  5. 获取地址
  6. 做你需要做的(我使用 gphoto2 从相机传输)
  7. 从 netns 中删除 nic
  8. 终止剩余进程
  9. 检查是否存在滞留进程
  10. 如果没有,删除 netns

相关内容