Ubuntu使用socat进行端口转发

2021-07-22 10:08:20 浏览数 (1)

以前写过一篇使用iptables进行端口转发的文章, 今天写一下使用socat将本地端口的流量转发到远程机上的过程. 不要问我这样做有什么用, 我也不知道.

安装

$ sudo apt install socat

转发TCP端口

$ sudo vim /etc/systemd/system/socat.service # 写入如下内容

[Unit]

Description=socat (https://www.zhukun.net)

After=network-online.target

Wants=network-online.target

[Service]

User=root

Group=root

ExecStart=/usr/bin/socat TCP4-LISTEN:本地端口,reuseaddr,fork TCP4:远程IP:远程端口

Restart=always

RestartSec=2

[Install]

WantedBy=multi-user.target

转发UDP端口

$ sudo vim /etc/systemd/system/socat_udp.service # 写入如下内容

[Unit]

Description=socat_udp (https://www.zhukun.net)

After=network-online.target

Wants=network-online.target

[Service]

User=root

Group=root

ExecStart=/usr/bin/socat -T5 UDP4-LISTEN:本地端口,reuseaddr,fork UDP4:远程IP:远程端口

Restart=always

RestartSec=2

[Install]

WantedBy=multi-user.target

启动服务

$ sudo systemctl daemon-reload

$ sudo systemctl start socat.service

$ sudo systemctl start socat_udp.service

$ sudo systemctl enable socat.service

$ sudo systemctl enable socat_udp.service

0 人点赞