找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 953|回复: 6

能否让对接轻舟的共享IP机器支持端口映射

[复制链接]

1

主题

1

回帖

17

积分

新手上路

积分
17
发表于 2023-10-15 03:50:37 | 显示全部楼层 |阅读模式
如题,完成对接后发现没有端口映射的选项,请问是否可以实现

点评

目前对接轻舟的端口映射是在轻舟主控完成,类似于魔方对接轻舟。  发表于 2023-10-15 08:03

72

主题

26

回帖

690

积分

管理员

积分
690
发表于 2023-10-15 07:59:35 | 显示全部楼层
需要有轻舟相关api接口才可以实现

1

主题

1

回帖

17

积分

新手上路

积分
17
 楼主| 发表于 2023-10-15 14:16:26 | 显示全部楼层
  1.     //挂机宝端口映射
  2.     //添加端口
  3.     public function addForwardPort(array $nodeInfo=[],array $param=[]){
  4.         if($this->apikey==""&&$nodeInfo['apikey']==""){
  5.             return ['code'=>0,'msg'=>'通讯密钥错误'];
  6.         }
  7.         if($this->node_url==""&&$nodeInfo['node_ip']==""){
  8.             return ['code'=>0,'msg'=>'节点通讯地址为空'];
  9.         }
  10.         $apikey = $this->apikey?$this->apikey:$nodeInfo['apikey'];
  11.         $forward_url = $this->forward_url?$this->forward_url:$nodeInfo['forward_url'];
  12.         $post_data = [];
  13.         $post_data['dport'] =  strval($param['dport']); //小鸡内网端口
  14.         $post_data['sport'] = strval($param['sport']); //映射服务器公网端口
  15.         $post_data['dip'] = $param['dip'];
  16.         $post_data['vm_name'] = $param['host_name'];
  17.         try {
  18.             $Client = new Client();
  19.             $res = $Client->post('http://'.$forward_url.':'.$this->forward_port."/api/Forward/AddPort",[
  20.                 'headers' => ['Content-Type' => 'application/json','apikey'=>$apikey],
  21.                 'http_errors' => false,
  22.                 'json'    => $post_data,
  23.                 'timeout' => 10
  24.             ]);

  25.             if($res->getStatusCode()!=200){
  26.                 return ['code'=>0,'msg'=>$res->getBody()->getContents()];
  27.             }else{
  28.                 $body = $res->getBody();
  29.                 $result = \GuzzleHttp\json_decode($body,true);
  30.                 if($result['code']!=200){
  31.                     return ['code'=>0,'msg'=>$result['msg']];
  32.                 }else{
  33.                     return ['code'=>200,'msg'=>'success','data'=>$result['data']];
  34.                 }
  35.             }
  36.         }catch (\Exception $e){
  37.             return ['code'=>0,'msg'=>$e->getMessage()];
  38.         }
  39.     }

  40.     //删除端口
  41.     public function removeForwardPort(array $nodeInfo=[],array $param=[]){
  42.         if($this->apikey==""&&$nodeInfo['apikey']==""){
  43.             return ['code'=>0,'msg'=>'通讯密钥错误'];
  44.         }
  45.         if($this->node_url==""&&$nodeInfo['node_ip']==""){
  46.             return ['code'=>0,'msg'=>'节点通讯地址为空'];
  47.         }
  48.         $apikey = $this->apikey?$this->apikey:$nodeInfo['apikey'];
  49.         $forward_url = $this->forward_url?$this->forward_url:$nodeInfo['forward_url'];
  50.         $post_data = [];
  51.         $post_data['dport'] = $param['dport']; //小鸡内网端口
  52.         $post_data['sport'] = $param['sport']; //映射服务器公网端口
  53.         $post_data['dip'] = $param['dip'];
  54.         $post_data['vm_name'] = $param['host_name'];

  55.         try {
  56.             $Client = new Client();
  57.             $res = $Client->post('http://'.$forward_url.':'.$this->forward_port."/api/Forward/DelPort",[
  58.                 'headers' => ['Content-Type' => 'application/json','apikey'=>$apikey],
  59.                 'http_errors' => false,
  60.                 'json'    => $post_data,
  61.                 'timeout' => 10
  62.             ]);
  63.             if($res->getStatusCode()!=200){
  64.                 return ['code'=>0,'msg'=>$res->getBody()->getContents()];
  65.             }else{
  66.                 $body = $res->getBody();
  67.                 $result = \GuzzleHttp\json_decode($body,true);
  68.                 if($result['code']!=200){
  69.                     return ['code'=>0,'msg'=>$result['msg']];
  70.                 }else{
  71.                     return ['code'=>200,'msg'=>'success','data'=>$result['data']];
  72.                 }
  73.             }
  74.         }catch (\Exception $e){
  75.             return ['code'=>0,'msg'=>$e->getMessage()];
  76.         }
  77.     }
复制代码

72

主题

26

回帖

690

积分

管理员

积分
690
发表于 2023-10-15 15:02:13 | 显示全部楼层

你好,你发的这个代码不是对接轻舟主控的api,看代码更向是轻舟主控通讯端口转发控制器的。

0

主题

5

回帖

33

积分

新手上路

积分
33
发表于 2024-2-13 01:41:43 | 显示全部楼层
nat是必须要的 做nat服务器现在很好 不能自助就做跳转到轻舟控制页面即可,所以 老板可以做1个开关,需要轻舟nat就跳转,不需要nat就不跳转~~~~

0

主题

5

回帖

33

积分

新手上路

积分
33
发表于 2024-2-13 01:42:30 | 显示全部楼层
加载云 发表于 2023-10-15 15:02
你好,你发的这个代码不是对接轻舟主控的api,看代码更向是轻舟主控通讯端口转发控制器的。 ...

nat是必须要的 做nat服务器现在很好 不能自助就做跳转到轻舟控制页面即可,所以 老板可以做1个开关,需要轻舟nat就跳转,不需要nat就不跳转~~~~
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|Load IDC ( 湘ICP备19027161号-1 )

GMT+8, 2024-4-30 01:57 , Processed in 0.113530 second(s), 21 queries .

Powered by Discuz! X3.5

Copyright © 2001-2020, Tencent Cloud.

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