我们公司是在一台 DMZ 主机,linux 系统上用 iptables 做端口转发,但是 iptables 转发后就看不到客户端的 IP 了,被 iptables 做了源地址转换。nginx 和 haproxy 能看到客户端 IP,但是配置比较麻烦,有时需要批量端口转发,比如 80-90 批量转发到 80-90 端口,没有 iptables 方便。 能看到客户端 IP,配置方便,支持批量端口转发,有这样的软件不
我们公司是在一台 DMZ 主机,linux 系统上用 iptables 做端口转发,但是 iptables 转发后就看不到客户端的 IP 了,被 iptables 做了源地址转换。nginx 和 haproxy 能看到客户端 IP,但是配置比较麻烦,有时需要批量端口转发,比如 80-90 批量转发到 80-90 端口,没有 iptables 方便。 能看到客户端 IP,配置方便,支持批量端口转发,有这样的软件不
|
DaGongRen001May 20, 2021
1
可以使用 frp
|
|
2
v2ray 能满足到这个要求,但是配置也挺复杂的,需要一定的学习能力。
|
|
3
gost
|
|
defunct9May 20, 2021
4
go-tcp-proxy_1.0.2_linux_amd64
|
|
hulala1021May 20, 2021
5
可以安装个 nginx 图形化管理工具来配置 nginx
|
|
KyonLiMay 20, 2021
6
|
|
moxuanyuanMay 20, 2021
7
@hulala1021 #5
- **nginx-proxy-manager** [https://github.com/jc21/nginx-proxy-manager]( https://github.com/jc21/nginx-proxy-manager) - **nginxWebUI** [https://github.com/cym1102/nginxWebUI]( https://github.com/cym1102/nginxWebUI) - **nginx-ui** [https://github.com/schenkd/nginx-ui]( https://github.com/schenkd/nginx-ui) 除了这三个,还有吗? |
|
EPr2hh6LADQWqRVHMay 20, 2021
9
只能说你 DMZ 主机的 iptables 配置得不对,错误地进行了 SNAT,好好改一下,入方向包不要覆盖源地址
|
|
icepieMay 20, 2021
10
caddy
|
|
Ehco1996May 20, 2021 via iPhone
11
|
|
zhoudaiyuMay 20, 2021 via iPhone
12
Socat 是不是
|
|
gaozihangMay 20, 2021
13
rinetd
|
|
lixiang2017May 20, 2021 via Android
14
firewalld
|
|
oxromanticMay 20, 2021
15
先搞清楚你要转发什么协议还需要知道源地址,如果 HTTP 协议 nginx 之类反向代理都支持,修改 x-forward
如果你要转发 FTP 协议,那么协议本身不支持源地址表达,就没法做成你要的效果,除非转发前自己把源地址存到共享空间 |
|
d0m2o08May 20, 2021
16
我都是用 nc 没测试过能不能看到源地址
nc -l -k -p 80 -c "nc 1.2.3.4 80" |
|
henicesMay 20, 2021
17
socat
|
|
sleepmMay 20, 2021 via Android
18
traefik
|
|
lchqfnuMay 20, 2021
19
rinetd
|
|
NaVientMay 20, 2021
20
rinetd
|
|
hanyceZMay 20, 2021
21
你也是啊,肖战
|
|
micookieMay 20, 2021
22
rinetd
|
|
xuanbgMay 20, 2021
23
nginx
|
|
whitelee8080May 20, 2021
24
rinetd
|
|
CallMeReznovMay 20, 2021
25
最近用了一款 rinetd,可以很简单的转发端口,但不知道为什么一旦转发的数据量起来后就会出现断流的情况,没仔细研究,解决了问题就给关了
|
|
kiolygeniusMay 20, 2021
26
gost +1
|
|
weizhen199May 20, 2021
27
tinyPortMapper,比 scop 还轻量化
udp2raw tunnel 大佬的作品 |
|
UserDMMMay 20, 2021
28
名字都叫错了,我是冠希.....
|
|
abersheeranMay 20, 2021
29
@UserDMM 冠希哥,听说你在 LA 的高桥遇到一群混混被打劫了三百块?
|
|
zlieaMay 20, 2021
30
rinetd+1
|
|
SenLiefMay 20, 2021
31
socat?
|
|
princeofwalesMay 21, 2021
32
nginx 转发端口哪里复杂了
|
|
motianya211314May 21, 2021
33
rinetd
|
|
salmon5May 21, 2021
34
iptables >socat >nginx >rinetd,注意 rinetd 有伪造的: https://github.com/boutell/rinetd/issues/8
|
|
salmon5May 21, 2021
35
rinetd 谨慎使用
|
|
CoderLifeMay 21, 2021
36
rinetd +2
|
|
XQUX9al72490iGLhMay 21, 2021
37
c++手写一个吧
|
|
SaigyoujiYuyukoMay 22, 2021
38
L7 的转发不保证源地址 除非 Proxy Protocol 没记错的话 frp 支持端口段转发+Proxy Protocol
|
|
ducksMay 24, 2021
39
@DaGongRen001 单个配置域名太蛋疼了把
|
|
40
感谢彦祖们的回复,试了 frp,得单独配置服务端和客户端,太麻烦弃了,gost 也是服务端客户端,rinetd 看到文章说不稳定,不敢用,找到 haproxy-wi 工具,官网一看要收费,算了,就用 nginx web 界面配置把,或者 lvs 。
这些工具都没法像 iptables 那样一条命令转发多个端口,比如 8000~8009 转发到 8000~8009,或许我该针对 nginx 或 lvs 写个批处理脚本? |
|
123zsr123May 29, 2021
41
和目标服务器建一个 vpn 再用 iptables 只做 DNAT 就可以看到客户端地址了
|
|
wxlg1117Jun 20, 2021
42
我试过 n 多端口转发,持久和量大算 goproxy 最好
|