openwrt下ipv4/ipv6双栈网络用gost转发访问ipv6(only)的vps

买了个只有ipv6的vps,因为家里的网络ipv4/ipv6都可以访问,但是外出的时候网络大部分不支持ipv6,突然间想起来可以借助家里openwrt的ipv4/ipv6双栈网络开个转发来实现访问。

实现原理:在没有ipv6的情况在,访问家里的ipv4公网端口,然后用gost转发这个端口到ipv6的vps上实现访问。

首先下载openwrt适合的gost版本

mkdir gost
cd gost
wget https://github.com/ginuerzh/gost/releases/download/v2.12.0/gost_2.12.0_linux_arm64.tar.gz
tar zxvf gost_2.12.0_linux_arm64.tar.gz

然后填写gost的配置文件
vim config.yaml

services:
- name: service-gost-tcp
  addr: :30022
  handler:
    type: rtcp
  listener:
    type: rtcp
  forwarder:
    nodes:
    - name: target-gost-tcp
      addr: "[2408:8748::1]:22" #需要转发的vps的ipv6地址
- name: service-gost-udp  #udp的示例,22端口并不需要
  addr: :30022
  handler:
    type: rudp
  listener:
    type: rudp
  forwarder:
    nodes:
    - name: target-gost-udp
      addr: "[2408:8748::1]:22

然后创建gost开机自动启动
vim /etc/init.d/gost

#!/bin/sh /etc/rc.common
# GOST init script for OpenWrt 24.10.0

START=99
STOP=10

# 配置 GOST 的路径和 PID 文件
PROG="/root/gost/gost"
CONFIG="/root/gost/config.yaml"
PIDFILE="/var/run/gost.pid"

# 启动服务(不输出日志)
start() {
    if [ -e "$PIDFILE" ]; then
        return 1
    fi

    # 启动 GOST 并丢弃所有输出
    $PROG -C $CONFIG >/dev/null 2>&1 &

    # 记录 PID
    echo $! > $PIDFILE
}

# 停止服务
stop() {
    if [ -e "$PIDFILE" ]; then
        kill "$(cat $PIDFILE)" 2>/dev/null
        rm -f "$PIDFILE"
    fi
}

# 重启服务
restart() {
    stop
    start
}

# 设置开机自启
enabled() {
    return 0
}

赋予开机启动脚本权限
chmod +x /etc/init.d/gost

/etc/init.d/gost enable #开机启动
/etc/init.d/gost start #启动服务
/etc/init.d/gost stop #停止服务
/etc/init.d/gost restart #重启服务
ps | grep gost #查询服务状态
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇