#RePost #DevOps #Script #Network
转发工具之Gost简单用法
什么是Gost
GO语言实现的安全隧道
常用特性
这里仅列出我常使用到的特性
● 多协议支持
● 支持TCP/UDP
● TUN
● 支持转发链
安装
```bash# 当前3.0最新rc版本
wget
chmod +x gost
mv gost /usr/bin/gost
● 监听本地
● 省缺IP时默认为当前机器IP
配置文件方式
```yaml# gost.yml
log:
level: info
# stdout标准输出,none不打印日志
output: none #stdout
services:
● name: pod
addr: :2222
handler:
type: tcp
listener:
type: tcp
forwarder:
nodes:
- name: pod
addr: "[fd7a:115c:a1e0:ab12:4843:cd96:6255:5794]:22"
设置开启启动
编辑
```[Unit]
Description=GO Simple Tunnel
After=network.target
Wants=network.target
[Service]
Type=simple
ExecStart=/usr/bin/gost
Restart=always
[Install]
WantedBy=multi-user.target
其他
对比
转发工具之Gost简单用法
什么是Gost
GO语言实现的安全隧道
常用特性
这里仅列出我常使用到的特性
● 多协议支持
● 支持TCP/UDP
● TUN
● 支持转发链
安装
```bash# 当前3.0最新rc版本
wget
chmod +x gost
mv gost /usr/bin/gost
**运行**
常见场景可能就是端口转发,具体可以参考官方文档: [端口转发](https://latest.gost.run/tutorials/port-forwarding/)
cli方式
```bashgost -L tcp://:8080/:8081
● 监听本地
:8080
,并将相关请求转发到8081
端口● 省缺IP时默认为当前机器IP
配置文件方式
```yaml# gost.yml
log:
level: info
# stdout标准输出,none不打印日志
output: none #stdout
services:
● name: pod
addr: :2222
handler:
type: tcp
listener:
type: tcp
forwarder:
nodes:
- name: pod
addr: "[fd7a:115c:a1e0:ab12:4843:cd96:6255:5794]:22"
运行
```bashgost -C /etc/gost/gost.yml
设置开启启动
编辑
/etc/systemd/system/gost.service
```[Unit]
Description=GO Simple Tunnel
After=network.target
Wants=network.target
[Service]
Type=simple
ExecStart=/usr/bin/gost
Restart=always
[Install]
WantedBy=multi-user.target
开机并启动
```bashsystemctl daemon-reload
systemctl enable gost --now
systemctl restart gost
systemctl status gost
其他
对比
Realm
, 配置和玩法复杂多了,如果仅用于端口转发我觉得还是Realm比较好,具体可以参考我写的转发工具之Realm极简用法