apernet / hysteria

Hysteria is a powerful, lightning fast and censorship resistant proxy.
https://v2.hysteria.network/
MIT License
14.69k stars 1.64k forks source link

关于期望使用域名发起请求的帮助 #897

Open nbMars1980 opened 8 months ago

nbMars1980 commented 8 months ago

本人小白,请各位大佬帮助一下 我用软路由里的passwall创建hysteria2的节点,能够正常使用,但是存在一个问题: 当我在服务器端配置acl规则时,发现只能用ip匹配,无法用域名匹配。查看日志后发现所有的请求都是ip请求,没有域名 那么我想请问大佬们,我需要怎样修改配置项,使得使用域名请求,而非ip呢?

HynoR commented 8 months ago

passwall里面是不是有什么内建dns模块 提前解析了域名

nbMars1980 commented 8 months ago

passwall2分流模式是以域名请求的,但是passwall却不行 奇怪的是passwall所有设置没有改变的情况下,改成xray类型的节点,服务器收到的请求是域名的,只有使用hysteria2或者sing-box走hysteria2时服务器收到的才是IP请求,不知道是哪里出了问题

nbMars1980 commented 8 months ago

查看一下类似“流量嗅探只供路由使用”的选项是否打开了,我印象里PassWall也可以用Xray分流节点,只要打开流量嗅探,关闭“流量嗅探只供路由使用”就可以,实在不行可以换PassWall2试试

感谢提醒,不是流量嗅探的问题,我把passwall中分流节点里的“域名解析策略”改成IPIfNonMatch,然后直接用hysteria2节点也能以域名请求了。这可能是passwall自身的bug吧

nbMars1980 commented 8 months ago

但是现在仍然有一个问题,如果passwall中直接用hysteria2创建节点,当passwall设置里开启了TPROXY透明代理时,节点能测试通过,但是无法正常使用,应该是构成回路了。如果使用sing-box的hysteria2创建节点可以用透明代理。我看文档里对透明代理的使用有iptables设置的指导,但是没有尝试过,不知道有没有跟我遇到同样问题的朋友。我需要使用透明代理,且需要开启IPV6透明代理,不知道该怎么操作才能用原生hysteria2来创建节点,配合端口跳跃使用

taskmgr818 commented 8 months ago

抱歉我没理解“创建节点”,你是想用PassWall搭建Hy2节点(服务器端),还是单纯用作客户端,给下挂设备提供透明代理

nbMars1980 commented 8 months ago

抱歉我没理解“创建节点”,你是想用PassWall搭建Hy2节点(服务器端),还是单纯用作客户端,给下挂设备提供透明代理

我的表达可能不太合适,我的意思是:软路由里的passwall节点用原生hysteria2来配置客户端,然后开启passwall自带的TPROXY透明代理给下挂的主机使用

taskmgr818 commented 8 months ago

我测试了一下,PassWall确实无法使用,服务器端没有收到连接请求(显示客户端已连接,但没有后续访问),暂时找不出问题原因,。如果没有特殊需求建议试试PassWall2,我目前使用效果很好

nbMars1980 commented 8 months ago

我测试了一下,PassWall确实无法使用,服务器端没有收到连接请求(显示客户端已连接,但没有后续访问),暂时找不出问题原因,。如果没有特殊需求建议试试PassWall2,我目前使用效果很好

passwall2用原生hysteria2来配置客户端,并开启透明代理后,确实可以。倒也没有什么特殊需求,只是很久以来一直用passwall,就没有改过去。本以为passwall不行passwall2应该会一样不可以,没有尝试过...

taskmgr818 commented 8 months ago

PassWall2似乎是将DNS交给Xray进行处理,1则是插件自带解析;总之解决就好 : )