立即注册  找回密码
 立即注册
CeraNetworksBGVM服务器主机交流会员请立即修改密码Sharktech防护
查看: 38|回复: 3

求助大神,PVE服务器套Wireguard,端口转发失效怎么办

[复制链接]

求助大神,PVE服务器套Wireguard,端口转发失效怎么办

[复制链接]

3

主题

44

回帖

143

积分

注册会员

积分
143
Just纱世里

3

主题

44

回帖

143

积分

注册会员

积分
143
2023-12-14 23:09:44 | 显示全部楼层 |阅读模式
由于某些原因,家里面有个软路由刷了PVE做主系统,通过PPPOE拨号获取公网IP。
PVE后面连了几个客户端,通过vmbr0网卡获取内网IP。然后NAT成公网IP上网。

然后我想把里面的端口转发到公网IP上,
使用命令[ol]
  • iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 18080 -j DNAT --to-destination 192.168.1.2:80 [/ol]复制代码和[ol]
  • iptables -t nat -A POSTROUTING -p tcp -d 192.168.1.2 --dport 18080 -j MASQUERADE[/ol]复制代码转发后没问题,公网IP:18080可以访问。

    但是PVE在国内,需要上网代理,想给客户端也顺便代理上。当我开启Wireguard后,端口转发直接连不上了。
    我怀疑是路由问题,想使用 ip rule添加策略路由,把DNAT的回包打标,从哪来就从哪回,然而并不行,要么客户端不走代理,要么端口转发不通,要么两个都不行。
    为了使用策略路由,我在wg配置文件里加上了”Table = Off“,通过ip route和ip rule设置路由表,但始终有问题。

    我估计就是回程数据包走扶墙出去,然后源IP和之前不同,导致握手失败。

    但是拿Openwrt试了下,链路层都全局代理的情况下,端口转发还可以使用,这是为什么?

    我觉得大概率和默认路由有关,Op是怎么区分的?

    折腾两天了都没搞定,特来发帖求助各位大神。

    如果DNAT再加上SNAT,把源IP NAT成PVE的内网IP(192.168.1.1)再加一条静态路由
    "
    似乎可以,但是SSH或者是其他的软件应该就看不见访客的真实IP了,但Openwrt还可以……
  • 回复

    使用道具 举报

    26

    主题

    87

    回帖

    762

    积分

    高级会员

    积分
    762
    我太难了

    26

    主题

    87

    回帖

    762

    积分

    高级会员

    积分
    762
    2023-12-14 23:55:57 | 显示全部楼层
    应该要调路由,源地址为你的客户端的ip,源端口为80端口,目的地址任意的网关设为你的路由器的ip地址。
    这样不会走wireguard就行了。
    回复

    使用道具 举报

    3

    主题

    44

    回帖

    143

    积分

    注册会员

    积分
    143
    Just纱世里 楼主

    3

    主题

    44

    回帖

    143

    积分

    注册会员

    积分
    143
    2023-12-15 00:05:02 | 显示全部楼层

    我太难了 发表于 2023-12-15 00:55

    应该要调路由,源地址为你的客户端的ip,源端口为80端口,目的地址任意的网关设为你的路由器的ip地址。
    这 ...

    感谢大佬,我明天再看看。需要在客户端都手动调吗,还是路由器(PVE)宿主机,我试过根据和源IP还有流入网卡来打标签在设置路由之类的,没成功,明天再试试。
    不知道是不是因为Wireguard是网络层协议导致的,但Op套Warp就可以……
    回复

    使用道具 举报

    3

    主题

    44

    回帖

    143

    积分

    注册会员

    积分
    143
    Just纱世里 楼主

    3

    主题

    44

    回帖

    143

    积分

    注册会员

    积分
    143
    2023-12-15 00:55:00 | 显示全部楼层

    我太难了 发表于 2023-12-15 00:55

    应该要调路由,源地址为你的客户端的ip,源端口为80端口,目的地址任意的网关设为你的路由器的ip地址。
    这 ...

    我理解,3向1回,然后1发现不是2回,握手失败。
    肯定有办法避免,因为openwrt套上wg就还能正常回复,哪怕是真全局代理。
    但是其他linux没有专门为路由器优化过,肯定需要调一些设置,只是我不知道怎么做。

    我试过用iptabls标记回程数据包,试图走进来时使用的接口(ip2)但是不行:我再折腾折腾。
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    Archiver|小黑屋|HS2V主机综合交流论坛

    GMT+8, 2024-12-23 09:45 , Processed in 0.016686 second(s), 3 queries , Gzip On, Redis On.

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

    快速回复 返回顶部 返回列表