内网隧道转发并保持链接,除了 autossh 以外还有方式吗? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
saytesnake
V2EX    程序员

内网隧道转发并保持链接,除了 autossh 以外还有方式吗?

  •  
  •   saytesnake 2020-04-28 10:29:24 +08:00 3648 次点击
    这是一个创建于 2073 天前的主题,其中的信息可能已经有所发展或是发生改变。
    就是为了通内部另外一个网段的两个数据库,最简单的方式,第一反应肯定是 SSH 隧道。

    数据库 A,1.1.1.1:5432
    数据库 B,2.2.2.2:5432

    中转机,192.168.1.2
    转发机,192.168.1.3

    在转发机 192.168.1.3 操作,

    ssh -fCPN -L :50000:1.1.1.1:5432 [email protected]
    ssh -fCPN -L :50001:2.2.2.2:5432 [email protected]

    不过没有有效连接的情况下,超时之后肯定会断,那得用 autossh 了,不过可能方式不太对。

    autossh -M 1234 -CPN -L :50000:1.1.1.1:5432 [email protected]
    autossh -M 5678 -CPN -L :50001:2.2.2.2:5432 [email protected]

    启动输入密码后偶尔会提示 remote port forwarding failed for listen port 1234,系统日志会提示说,ssh exited with error status 255; restarting ssh,持续时间很短后自己就断掉了,而且也不会自己重连,谷歌查了有些文章,试了其它命令,都不太行,另外不明原因 autossh -f 后台启动是无效的...

    搞不懂。
    21 条回复    2020-04-29 01:33:25 +08:00
    cubecube
        1
    cubecube  
       2020-04-28 10:32:40 +08:00
    supervisor 自己监控 ssh 命令 比 autossh 靠谱。我之前也折腾过一整子 autossh,也有各种问题 最后放弃了。
    iyezi
        2
    iyezi  
       2020-04-28 10:58:06 +08:00
    我选择用 systemd 监控 frp
    saytesnake
        3
    saytesnake  
    OP
       2020-04-28 11:23:46 +08:00
    @cubecube 看来不是只有我遇到这个问题了。

    @iyezi systemd 的写法,是不是类似这样的,https://gist.github.com/drmalex07/c0f9304deea566842490
    tuxz
        4
    tuxz  
       2020-04-28 11:28:05 +08:00
    可以试试 frp
    tuxz
        5
    tuxz  
       2020-04-28 11:29:15 +08:00
    autossh 是检查到 ssh 断开后会自动重连
    saytesnake
        6
    saytesnake  
    OP
       2020-04-28 11:37:34 +08:00
    @tuxz FRP 应该可以的,就是为了方便,不想装第三方的东西。
    tuxz
        7
    tuxz  
       2020-04-28 11:39:47 +08:00
    @saytesnake #6 autossh 自动重连失败的话,可以 debug,看下日志
    no1xsyzy
        8
    no1xsyzy  
       2020-04-28 11:41:57 +08:00
    @saytesnake #3 @ 的语法注意一下就行,你需要在 /etc/default/secure-tunnel@a-name 里面写点东西,然后 systemctl --user enable [email protected]
    不清楚是 arch 的包比较先进还是 $$ 那边终于先进了,好久没碰 linux,最近装了 arch 发现了 sslocal 用了这个语法……
    abcdabcd987
        9
    abcdabcd987  
       2020-04-28 11:43:50 +08:00
    autossh -M 0 -o ServerAliveInterval=10 -o ServerAliveCountMax=2 -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -o ExitOnForwardFailure=yes
    MeteorCat
        10
    MeteorCat  
       2020-04-28 11:44:57 +08:00 via Android
    tinc 可以
    no1xsyzy
        11
    no1xsyzy  
       2020-04-28 11:48:31 +08:00
    supervisor 也好用,倾向于 supervisor 处理业务服务,systemd 处理系统服务
    大部分情况下差得不多,supervisor 可以直接 attach 上去,如果是有控制台界面的服务端程序,比如 MC,supervisor 效果好得多。
    winglq
        12
    winglq  
       2020-04-28 12:32:31 +08:00
    我有个类似需求,所以写了个工具,你可以试试。已经稳定使用挺久了。

    https://github.com/winglq/l4proxy
    PbCopy111
        13
    PbCopy111  
       2020-04-28 12:41:08 +08:00
    如果修改服务器上 ssh 的配置呢:
    ClientAliveInterval 30
    Kobayashi
        14
    Kobayashi  
       2020-04-28 12:47:11 +08:00 via Android
    autossh 已经属于被淘汰的玩意儿了,原理和内置的 ServerAlive 基本一致。( ServerAlive 配置在客户端设定连接服务器,ClientAlive 设定在服务端,只设置其一即可)
    如果 ServerAlive 还不行就 systemd 。
    如果还是断,那就别玩儿了,网络就这样了。
    wslzy007
        15
    wslzy007  
       2020-04-28 13:11:56 +08:00
    直接上 sg 吧,足够轻量
    https://github.com/lazy-luo/smarGate
    saytesnake
        16
    saytesnake  
    OP
       2020-04-28 14:02:19 +08:00
    @no1xsyzy 这个方法是有效的,也不用安装其它东西了。无论怎么说,CentOS 的包肯定是落后的,哈哈哈。
    shynome
        17
    shynome  
       2020-04-28 14:20:27 +08:00 via Android
    tabliu
        18
    tabliu  
       2020-04-28 15:57:15 +08:00
    ngrok
    iyezi
        19
    iyezi  
       2020-04-28 16:03:51 +08:00
    @saytesnake #3 frp 里已经带上 systemd service 的模板,改改就能用了。https://github.com/fatedier/frp/tree/master/conf/systemd
    saytesnake
        20
    saytesnake  
    OP
       2020-04-28 16:51:45 +08:00
    @iyezi 嗯谢谢~
    cubecube
        21
    cubecube  
       2020-04-29 01:33:25 +08:00 via Android   1
    @iyezi 有时候只有一个 22 端口可用
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2205 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 15:33 PVG 23:33 LAX 07:33 JFK 10:33
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86