V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
shenxj
V2EX  ›  程序员

求助,客户端访问数据库怎么指定端口号

  •  
  •   shenxj · 2021-08-13 15:16:35 +08:00 · 1706 次点击
    这是一个创建于 958 天前的主题,其中的信息可能已经有所发展或是发生改变。

    现在有两台机器 a 和 b,a 机器上装有基于 c#编写的客户端程序,b 机器上装有 SQL 数据库。b 是政务云服务器,只能接收 ip 下特定端口请求,现在要设定 a 机器通过某一固定端口去访问 b 机器上的数据库,该怎么实现

    21 条回复    2021-08-15 00:27:13 +08:00
    sutra
        1
    sutra  
       2021-08-13 15:18:44 +08:00
    你的意思是你的数据库运行在 b 的端口 1 上,但是 a 却访问不了 b 的端口 1,只能访问 b 的端口 2 ?
    shenxj
        2
    shenxj  
    OP
       2021-08-13 15:22:29 +08:00
    @sutra 可以访问,a 服务器只能用特定端口去连数据库,就想请教一下怎么固定端口。。。
    sutra
        3
    sutra  
       2021-08-13 15:25:17 +08:00
    还是没有明白。
    goodryb
        4
    goodryb  
       2021-08-13 15:26:13 +08:00
    @shenxj #2 按理来说是发起个 TCP 连接,但正常源端口是系统随机分配的,好像并没有能够指定说一定从某个端口出去。

    坐等楼下大佬指导。
    moen
        5
    moen  
       2021-08-13 15:26:30 +08:00
    如果那个云服务器有 ssh 的话可以用 ssh 转发
    goodryb
        6
    goodryb  
       2021-08-13 15:28:09 +08:00
    sutra
        7
    sutra  
       2021-08-13 15:31:08 +08:00
    TCP Source Port 呀,为啥有这么奇怪的需求。得修改数据库连接驱动程序吧。
    NikoXu
        8
    NikoXu  
       2021-08-13 15:42:38 +08:00
    这需求确实玄学
    strict
        9
    strict  
       2021-08-13 15:44:26 +08:00
    搜索关键词: 本地端口转发
    strict
        10
    strict  
       2021-08-13 15:44:47 +08:00
    @NikoXu 估计是 b 机器的防火墙有个奇葩设置.
    keepeye
        11
    keepeye  
       2021-08-13 15:44:51 +08:00
    限定源端口,假如只允许一个端口,那岂不是只能单线程连接?
    todd7zhang
        12
    todd7zhang  
       2021-08-13 16:28:46 +08:00
    python 的话,client socket 直接 bind(ip, specified_port)
    thtznet
        13
    thtznet  
       2021-08-13 16:42:30 +08:00
    b 上的数据库引擎的监听端口要修改为 b 开放的端口,a 客户端上的数据库连接字符串里可以指定端口访问。
    jingcheng407
        14
    jingcheng407  
       2021-08-13 17:06:05 +08:00
    b 机器上做端口转发就行了,很简单的
    makdon
        16
    makdon  
       2021-08-13 22:37:50 +08:00
    试试 A 机器上开个代理,然后把所有流量根据特定端口出去?
    PolarBears
        17
    PolarBears  
       2021-08-14 04:46:51 +08:00
    填写 政务云安全组开通申请表
    PolarBears
        18
    PolarBears  
       2021-08-14 04:52:23 +08:00
    政务云应该是默认 80 和 443 端口的仅入站,其余端口策略需要填写申请表开通.虽然可以用这些默认端口来实现你要的需求,但我建议还是乖乖填写申请表开通策略吧.
    LLaMA2
        19
    LLaMA2  
       2021-08-14 17:04:48 +08:00
    4 字箴言“端口转发”
    opengps
        20
    opengps  
       2021-08-14 23:03:48 +08:00
    区分一下重点:B 做的限制,是入端口,那么让数据库工作在这个端口即可。或者用端口转发工具实现
    如果做的是出端口限制,那么就难了
    wxlg1117
        21
    wxlg1117  
       2021-08-15 00:27:13 +08:00
    试过不少端口转发之类的工具.我感觉效果最给力的是这个,推荐你试试 https://github.com/snail007/goproxy
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3472 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 10:57 · PVG 18:57 · LAX 03:57 · JFK 06:57
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.