技术解析

请教 iptables nat 转发的问题?
0
2021-07-02 20:46:11
idczone

在内网树莓派上搭建了 VPN server 和 sslocal ,路由器端口映射 VPN 端口到树莓派。希望通过 iptables 将外网登录到 VPN 网络的客户端流量转发到 sslocal 上去。

iptables 小白。目前是这样写到规则,没用。

iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 1080
iptables -t nat -A PREROUTING -p tcp --dport 443 -j REDIRECT --to-ports 1080

/etc/sysctl.conf 里 ipv4_forward 开启了么?

ss-local 监听的是 SOCKS5 协议吧,用 ss-redir ……

VPN 各种封了,已经放弃了。。。

你只能在派上转发啊,因为路由器并不知道 vpn 里走的是什么内容
另外,如楼上说,用 ss-redir 或者 redsocks

楼主的 rpi 应该是放在家里的,电信网内各 vpn 协议应该都是正常的(推荐 openvpn ),移动和长宽可能会有封禁机制。

开启了,登录 VPN 是可以的上网的。

iptables 转发不是 tcp 那层的流量么,与协议相关?
我是在 pi 上转发的,路由只负责映射外网端口

ss 开的是 socks ,是有额外的头数据指定要连接的主机和端口的,你查 socks 协议就知道了
但正常的 TCP 连接并不包括这部分,所以单纯的 iptables 转发是不行的,要配合 ssredir

直接 iptables 转发肯定不行,需要加一层 rednecks, 把 vpn 过来的流量转成 socks5 到 ss 上

之前试过 SS 和 vpn 共存,不是不能上 VPN,而是各个运营商的网络非常不稳定,有些能上,有些经常断,用的正是 PPTP 协议。
我在 VPS 上搭建的一套,只不过想在 IOS 系统上能方便的使用 VPN ,后来实在不稳定,已经放弃了。

rednecks->redsocks

目测 LZ 已经在 pi 上装了个 vpn 服务器,那么再在 pi 上装个 vpn 客户端拨号到境外服务器上,就 o 了。
更简单的办法:用 iptables 的 DNAT 把拨号进来的 VPN 端口转发到境外 VPN 端口,这样 pi 上不用装 vpn 也不用装 ss

我的目标就是在境外服务器只部署 ss ,而不用安装 vpn server ,这样的好处就是配置只集中在 pi 上面, vps 挂了我改下 pi 的配置文件就好了。

Pi 带的动 VPN 吗,据说速度只有 30Mbps 撑死。

看使用场景,大多数情况,我是在蜂窝网络或者在公共 wifi 使用,所以对速度没有极致要求。

楼主,可否留个联系方式,求指导
企鹅:捌 5 捌 1 捌 5 捌 26

什么问题呢


现状:
本地用 openvpn 连接墙内的 QQ 云 centos , QQ 云用 ss 连接墙外的 do 云。
期望:
在 QQ 云分流,使 openvpn 用户访问墙内网直接连接;访问墙外网则通过 ss 代理。
问题:
已在 QQ 云安装 ss-libev ,并成功 ss 到 do 云,并根据网上教程配置路由表和转发。但连接上 openvpn 后所有网站均打不开。
楼主能否给出详细配置?谢谢

@mmmyc


https://github.com/fankangsong/fankangsong.github.io/blob/master/wiki/linux/iptable%E8%BD%AC%E5%8F%91VPN%E5%88%B0ss-redir.md
看下我之前记录的方案,你试试看。

好的。非常感谢

兄弟,你 githup 的连接 404 了。还有备份吗?上次的弄好了。现在配置另一台服务器的,早知道当时离线一份就好了。

https://github.com/fankangsong/log/blob/master/logs/iptable%E8%BD%AC%E5%8F%91VPN%E5%88%B0ss-redir.md

感谢

数据地带为您的网站提供全球顶级IDC资源