Linux-Windows 端口转发
在实际的生产环境中,我们为了安全性,会将一些重要的服务(数据库服务)不开放外网访问,但是当我们某个时刻由于一些特殊需求,需要进行外网访问的时候,我们可以通过端口转发来实现。通过一台和与服务可以互相访问的主机,通过该主机进行端口转发。
- Windows 端口转发
- Linux 端口转发
一、Windows 端口转发
windows 主要是通过 netsh
进行端口转发。
listenaddress # 本地监听的ip
listenport # 本地监听的端口connectaddress # 转发请求接收的主机ip
connectport # 转发请求接收的主机的端口
# 执行命令
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.gz
tar -xzf rinetd.tar.gz
yum install gcc -y
cd 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 22
0.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 22
0.0.0.0 3333 192.168.15.89 80
logfile /var/log/rinetd.log
写入配置文件
echo <<EOF >/etc/rinetd.conf
deny 192.168.15.*
0.0.0.0 2222 192.168.15.89 22
0.0.0.0 3333 192.168.15.89 80
logfile /var/log/rinetd.log
EOF
运行和管理
# 启动 rinetd
rinetd# 设置开机自启
echo rinetd >>/etc/rc.local# 暂停 ,通过kill pid
kill `cat /var/run/rinetd.pid`# 使用其他配置文件
rinetd -c /opt/rinetd.conf
我们在上面使用的端口,记得在防火墙添加放行规则。
iptables
和 Firewalld
进行端口转发的话我们后面进行补充。
转载于:https://www.cnblogs.com/operationhome/p/11284559.html
Linux-Windows 端口转发相关推荐
- linux查看端口转发,端口转发(Linux/Windows)
[目的] 监听本机 7777 端口,将数据转发到 192.168.7.8 的 8888 端口,实现 TCP 数据转发. [方法] 1.ncat(Linux/Windows 通用)(ncat端口转发)n ...
- windows 端口转发
首先要找到你国内云服务器的内网ip,不是你的公网IP,使用命令ipconfig即可找到. 对于Windows Server 2008以下版本的系统,需要安装IPV6才行,如果是Windows Serv ...
- linux查看端口转发配置文件,Linux配置端口转发
开启IP转发 首先开启IP转发功能,默认是关闭的. 临时修改: # echo 1 >/proc/sys/net/ipv4/ip_forward 修改过后就马上生效,但如果系统重启后则又恢复为默认 ...
- windows端口转发
客户端A ------> 代理服务器B --------> 服务器C 服务器B:192.168.10.163,启动代理监听端口7001 服务器C:172.16.14.21,服务端口 ...
- Linux 设置端口转发
ps -ef | grep 10020 --查询10020端口是否被使用 kill -9 86971 --结束使用10020端口的进程 ssh -C -f -N -g -L 18889 ...
- Linux iptables 端口转发
这里 -d 后面姐要转发的地址网络 iptables -I FORWARD -m state -d 192.168.100.0/24 --state NEW,RELATED,ESTABLISHED - ...
- linux收到对方端口的数据再转发出去,linux下使用rinetd来实现端口转发
windows下的端口转发一般用的是自带的nat和porttunnel.portmap linux下端口转发映射的程序叫rinetd,启动方法rinetd -c /etc/rinetd.conf , ...
- Windows中使用netsh命令进行端口转发
在Linux中,使用iptables可以非常轻松地配置端口重定向.在Windows Server系统上,路由和远程访问服务(RRAS)通过使用虚拟专用网络 ( VP N) 或拨号连接支持远程用户或站点 ...
- CentOS下用rinetd做端口转发
windows下的端口转发一般用的是自带的nat和porttunnel.portmap linux下端口转发映射的程序叫rinetd,启动方法rinetd -c /etc/rinetd.conf , ...
- windows ip转发
命令行执行 : netsh interface portproxy add v4tov4 listenaddress=172.27.179.103 listenport=10030 connectad ...
最新文章
- Intellij Idea 使用
- 程序员面试金典 - 面试题 01.06. 字符串压缩(字符串)
- 怎么在ASP.NET 2.0中使用Membership
- mysql进阶-02-事务的引入与基本的使用
- java应用uploadify 3.2丢失session
- 手机logging什么意思_手机三轴稳定器的“三轴”是什么意思?
- scipy —— 丰富的子包(io、cluster)
- python 可控制深度遍历文件夹
- DCGAN-深度卷积生成对抗网络-转置卷积
- oracle lgt,第 2 章 Fortran 95 内函数
- 谷歌浏览器如何安装插件-以octotree为例
- 西门子s300编程实例_几个西门子plc编程实例图解(含程序应用实例)
- python编程出现:expected an indented block错误
- 一文掌握智能抠图Deep Image Matting(pytorch实现)
- 求职经历,三轮技术面 +HR 面,面试也不过如此
- [运算放大器]佛朗哥笔记 - 电阻性反馈电路 - 电流泵与电流放大器
- Laravel Excel(maatwebsite/excel )导入
- python键盘键值表_Python怎么记录键盘鼠标敲击次数|Python统计鼠标点击次数 - PS下...
- redis查看某一个key的大小_redis查询key的内存大小
- truct in6_addr has no member named in6_u
热门文章
- 解决虚拟机卡 鼠标拖动很慢 有效解决办法
- 「leetcode」 1382. 将二叉搜索树变平衡:【构造平衡二叉搜索树】详解
- 为 macOS Monterey 优化,有了快捷指令,这些软件效率倍增
- 整站数据下载工具:SiteSucker for mac
- 在MacOS系统中如何自定义屏幕保护程序?
- js设计模式——8.中介者模式
- 从“制造”到“智造”,南高齿携手锐捷打造“智能工厂”
- 阿里云创客+千人创投会 无人机项目夺冠
- stm32cube和sw4stm32开发
- JS进阶篇--iscroll.js的使用