使用 ip6tables 转发流量以设置 DNAT/SNAT 来链接本地地址

使用 ip6tables 转发流量以设置 DNAT/SNAT 来链接本地地址

我正在尝试使用 Raspberry 将终端设备连接到 VLAN。基本上,我需要远程访问设备(我无法直接将其连接到 VLAN)。

我的想法是将设备(通过 eth)连接到 raspberry,将 raspberry 加入 VLAN,然后代理 VLAN 和设备之间的所有流量。我对代理所有和仅代理 ipv6 连接(tcp 和 udp)感兴趣。

网络配置为:

( Device )                     ( Raspberry )                  ( Laptop that need access )
DEVICE_IP <-----eth0-----> RASP_IP  RASP_VLANIP <----- VLAN ham0 ------> PC_VLANIP

我已经使用 Hamachi 设置了树莓派和笔记本电脑之间的 VLAN。然后我设置了以下 iptables 规则:

ipt6 --in-interface ham0 --append PREROUTING --table nat --destination $RASP_VLANIP --jump DNAT --to-destination $DEVICE_IP
ipt6 --append POSTROUTING --table nat --destination $RASP_IP --jump SNAT --to-source $PC_VLANIP

然后,我使用 iperf3 测试在设备上启动的连接,然后尝试使用地址 RASP_VLANIP 从笔记本电脑连接到它。无论如何,我收到错误:iperf3:错误 - 无法连接到服务器:连接被拒绝

我究竟做错了什么?

附加信息:

net.ipv4.ip_forward = 0
net.ipv6.conf.all.forwarding = 1
net.ipv6.conf.eth0.forwarding = 1
net.ipv6.conf.wlan0.forwarding = 1
net.ipv6.conf.ham0.forwarding = 1

pi@raspi:~ $ ip -6 neigh show
fe80::213d:e705:e749:7a8f dev eth0 lladdr --:--:--:--:-- STALE 
fe80::f079:e6fa:2c56:4984 dev eth0 lladdr --:--:--:--:-- STALE <--DEVICE_IP
2620:9b::1946:6064 dev ham0 lladdr --:--:--:--:-- STALE        <--PC_VLANIP

pi@raspi:~ $ ifconfig
    eth0: 
        inet6 fe80::213d:e705:e749:7a8f                        <--RASP_IP
    ham0: 
        inet6 fe80::7879:19ff:fe22:e039                        <--RASP_VLANIP
    wlan0: 
        inet6 fe80::8cff:42dc:7fba:3289  

相关内容