正文
[转帖]Linux-Windows 端口转发 netsh 还有 rinetd
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
Linux-Windows 端口转发https://www.cnblogs.com/operationhome/p/11284559.html之前自己学习过 netsh也曾经用过frp这次学习一下表 rinetd 感觉工具有很多 需要一直保持学习的心态.
在实际的生产环境中,我们为了安全性,会将一些重要的服务(数据库服务)不开放外网访问,但是当我们某个时刻由于一些特殊需求,需要进行外网访问的时候,我们可以通过端口转发来实现。通过一台和与服务可以互相访问的主机,通过该主机进行端口转发。
- Windows 端口转发
- Linux 端口转发
一、Windows 端口转发
windows 主要是通过 netsh
进行端口转发。
listenaddress # 本地监听的iplistenport # 本地监听的端口connectaddress # 转发请求接收的主机ipconnectport # 转发请求接收的主机的端口# 执行命令netsh interface portproxy add v4tov4 listenaddress=localip listenport=localport connectaddress=remoteip connectport=remoteport# 查看现有的配置netsh interface portproxy show all# 删除原有的端口转发 netsh interface portproxy delete v4tov4 listenaddress=localip listenport=localport
示例
设置将请求到 本地 IP 192.168.15.89
的端口请求 2222
转发到 192.168.15.35
端口 22
。
注意: 下面的命令需要用管理员执行。
netsh interface portproxy add v4tov4 listenaddress=192.168.15.89 listenport=2222 connectaddress=192.168.15.35 connectport=22
PS C:\WINDOWS\system32> netsh interface portproxy show all侦听 ipv4: 连接到 ipv4:地址 端口 地址 端口--------------- ---------- --------------- ----------192.168.15.89 2222 192.168.15.35 22
二、Linux 端口转发1、rinetd
简介
官方文档 :https://boutell.com/rinetd/
下载 https://boutell.com/rinetd/http/rinetd.tar.gz
rinetd
可以将 TCP
连接从一个 IP 地址和端口重定向到另外一个 IP 地址和端口。rinetd
是一个单进程服务(非阻塞IO进程),它可以处理配置文件/etc/rinetd.conf
中指定的地址和端口中任意数量的连接。rinetd
不能重定向 FTP,因为 FTP 需要多个 socket
。 rinetd
可以在 Linux 平台上运行,也可以在 Windows 95/98/NT
平台上运行。
安装:
wget https://boutell.com/rinetd/http/rinetd.tar.gztar -xzf rinetd.tar.gzyum install gcc -ycd rinetd# (修改端口范围)sed -i 's/65536/65535/g' rinetd.c# 创建目录mkdir /usr/man# 解压安装make && make install
配置文件
配置转发
配置文件的转发书写规则,可以配置多个转发。
bindaddress bindport connectaddress connectport
示例:
0.0.0.0 2222 192.168.15.89 220.0.0.0 3333 192.168.15.89 80
配置过滤规则
rinetd
可以使用过滤规则,来设定可以访问的主机。(只能使用ip,不能使用主机名)
注意: 填写的位置应该位于文件的开头
。
allow #设置允许访问的主机deny #设置拒绝访问的主机
示例:拒绝 192.168.15
整个网段的请求。
deny 192.168.15.*
配置日志文件
默认情况下, rinetd
不会生成日志文件。要激活日志记录,请将以下行添加到配置文件中:
logfile log-file-location
示例:注意 logfile 与后面路径只有一个空格哦。
logfile /var/log/rinetd.log
配置文件示例:
deny 192.168.15.*0.0.0.0 2222 192.168.15.89 220.0.0.0 3333 192.168.15.89 80logfile /var/log/rinetd.log
写入配置文件
echo <<EOF >/etc/rinetd.confdeny 192.168.15.*0.0.0.0 2222 192.168.15.89 220.0.0.0 3333 192.168.15.89 80logfile /var/log/rinetd.logEOF
运行和管理
# 启动 rinetdrinetd# 设置开机自启echo rinetd >>/etc/rc.local# 暂停 ,通过kill pidkill `cat /var/run/rinetd.pid`# 使用其他配置文件rinetd -c /opt/rinetd.conf
我们在上面使用的端口,记得在防火墙添加放行规则。
iptables
和 Firewalld
进行端口转发的话我们后面进行补充。
作者:理想三旬出处:https://www.cnblogs.com/operationhome/p/11284559.html如果觉得文章写得不错,或者帮助到您了,请点个赞,加个关注哦。运维学习交流群:544692191本文版权归作者所有,欢迎转载,如果文章有写的不足的地方,或者是写得错误的地方,请你一定要指出,因为这样不光是对我写文章的一种促进,也是一份对后面看此文章的人的责任。谢谢。 分类: linux, windows
https://www.cnblogs.com/operationhome/p/11284559.html之前自己学习过 netsh也曾经用过frp这次学习一下表 rinetd 感觉工具有很多 需要一直保持学习的心态.
在实际的生产环境中,我们为了安全性,会将一些重要的服务(数据库服务)不开放外网访问,但是当我们某个时刻由于一些特殊需求,需要进行外网访问的时候,我们可以通过端口转发来实现。通过一台和与服务可以互相访问的主机,通过该主机进行端口转发。
- Windows 端口转发
- Linux 端口转发
一、Windows 端口转发
windows 主要是通过 netsh
进行端口转发。
listenaddress # 本地监听的iplistenport # 本地监听的端口connectaddress # 转发请求接收的主机ipconnectport # 转发请求接收的主机的端口# 执行命令netsh interface portproxy add v4tov4 listenaddress=localip listenport=localport connectaddress=remoteip connectport=remoteport# 查看现有的配置netsh interface portproxy show all# 删除原有的端口转发 netsh interface portproxy delete v4tov4 listenaddress=localip listenport=localport
示例
设置将请求到 本地 IP 192.168.15.89
的端口请求 2222
转发到 192.168.15.35
端口 22
。
注意: 下面的命令需要用管理员执行。
netsh interface portproxy add v4tov4 listenaddress=192.168.15.89 listenport=2222 connectaddress=192.168.15.35 connectport=22
PS C:\WINDOWS\system32> netsh interface portproxy show all侦听 ipv4: 连接到 ipv4:地址 端口 地址 端口--------------- ---------- --------------- ----------192.168.15.89 2222 192.168.15.35 22
二、Linux 端口转发1、rinetd
简介
官方文档 :https://boutell.com/rinetd/
下载 https://boutell.com/rinetd/http/rinetd.tar.gz
rinetd
可以将 TCP
连接从一个 IP 地址和端口重定向到另外一个 IP 地址和端口。rinetd
是一个单进程服务(非阻塞IO进程),它可以处理配置文件/etc/rinetd.conf
中指定的地址和端口中任意数量的连接。rinetd
不能重定向 FTP,因为 FTP 需要多个 socket
。 rinetd
可以在 Linux 平台上运行,也可以在 Windows 95/98/NT
平台上运行。
安装:
wget https://boutell.com/rinetd/http/rinetd.tar.gztar -xzf rinetd.tar.gzyum install gcc -ycd rinetd# (修改端口范围)sed -i 's/65536/65535/g' rinetd.c# 创建目录mkdir /usr/man# 解压安装make && make install
配置文件
配置转发
配置文件的转发书写规则,可以配置多个转发。
bindaddress bindport connectaddress connectport
示例:
0.0.0.0 2222 192.168.15.89 220.0.0.0 3333 192.168.15.89 80
配置过滤规则
rinetd
可以使用过滤规则,来设定可以访问的主机。(只能使用ip,不能使用主机名)
注意: 填写的位置应该位于文件的开头
。
allow #设置允许访问的主机deny #设置拒绝访问的主机
示例:拒绝 192.168.15
整个网段的请求。
deny 192.168.15.*
配置日志文件
默认情况下, rinetd
不会生成日志文件。要激活日志记录,请将以下行添加到配置文件中:
logfile log-file-location
示例:注意 logfile 与后面路径只有一个空格哦。
logfile /var/log/rinetd.log
配置文件示例:
deny 192.168.15.*0.0.0.0 2222 192.168.15.89 220.0.0.0 3333 192.168.15.89 80logfile /var/log/rinetd.log
写入配置文件
echo <<EOF >/etc/rinetd.confdeny 192.168.15.*0.0.0.0 2222 192.168.15.89 220.0.0.0 3333 192.168.15.89 80logfile /var/log/rinetd.logEOF
运行和管理
# 启动 rinetdrinetd# 设置开机自启echo rinetd >>/etc/rc.local# 暂停 ,通过kill pidkill `cat /var/run/rinetd.pid`# 使用其他配置文件rinetd -c /opt/rinetd.conf
我们在上面使用的端口,记得在防火墙添加放行规则。
iptables
和 Firewalld
进行端口转发的话我们后面进行补充。
作者:理想三旬
出处:https://www.cnblogs.com/operationhome/p/11284559.html
如果觉得文章写得不错,或者帮助到您了,请点个赞,加个关注哦。运维学习交流群:544692191
本文版权归作者所有,欢迎转载,如果文章有写的不足的地方,或者是写得错误的地方,请你一定要指出,因为这样不光是对我写文章的一种促进,也是一份对后面看此文章的人的责任。谢谢。
分类: linux, windows