在家里,我运行一台小型 PC(Debian Jessie)作为 NAS 和某种监控设备。这台 PC 有两个桥接以太网端口。一个连接到交换机(eth1
),所有其他设备都插在该交换机上,另一个连接到我的路由器(eth0
)。
我的大多数设备上都运行着一些 OpenVPN 客户端。
现在我正尝试直接在 NAS-PC 上建立 VPN 连接,因此无需为每台设备配置自己的连接。
但问题是我无法TAP
与 VPN 服务器建立连接,只能TUN
建立连接。(如果服务器接受TAP
,我可以尝试使用eth1
桥接tap0
)
除了桥接(只能通过)之外,还有其他可能性吗?通过 VPN 连接()TAP
引导整个流量?eth1
TUN
谢谢
答案1
但问题是我无法
TAP
与 VPN 服务器建立连接,只能TUN
建立连接。
你不能混合TUN
和TAP
模式..他们是互相排斥. 如果你TUN
在服务器上运行必须在您的客户端上运行TUN
,同样TAP
我不能使这一点更清楚..您必须在两端运行相同的设备..句号
答案2
关键词是routing
。(感谢@dotvotdot)
我通过在 NAS 上运行 OpenVPN 客户端和 DHCP 服务器实现了我的目标。我还将 eth1 的 IP 设置为静态。
我当前的路由规则:
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE -m comment --comment "Use VPN IP for eth0" iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE -m comment --comment "Use VPN IP for tun0"
iptables -A FORWARD -s 192.168.101.0/24 -i eth1 -o eth0 -m conntrack --ctstate NEW -j REJECT -m comment --comment "Block traffic from clients to eth0"
iptables -A FORWARD -s 192.168.101.0/24 -i eth1 -o tun0 -m conntrack --ctstate NEW -j ACCEPT -m comment --comment "Allow only traffic from clients to tun0"