端口转发(Linux/Windows)

本文涉及的产品
公网NAT网关,每月750个小时 15CU
简介:

【目的】

  监听本机 7777 端口,将数据转发到 192.168.7.8 的 8888 端口,实现 TCP 数据转发。


【方法】

1、ncat(Linux/Windows 通用)(ncat端口转发

1
ncat --sh- exec  "ncat 192.168.7.8 8888"  -l 7777 --keep- open


2、netsh(Windows)(port forwarding in windows

2.1、设置

1
2
#将本机 7777 端口收到的内容转发到 192.168.7.8 的 8888 端口
netsh interface portproxy add v4tov4 listenport=7777 listenaddress=0.0.0.0 connectport=8888 connectaddress=192.168.7.8

2.2、查看

1
netsh interface portproxy show all

2.3、移除

1
netsh interface portproxy delete v4tov4 listenport=7777 listenaddress=0.0.0.0


3、iptables(Ubuntu 16.04)(How-To: Redirecting network traffic to a new IP using IPtables

3.1、清空规则

1
2
3
4
5
6
7
8
9
sudo  iptables -F
sudo  iptables -X
sudo  iptables -t nat -F
sudo  iptables -t nat -X
sudo  iptables -t mangle -F
sudo  iptables -t mangle -X
sudo  iptables -P INPUT ACCEPT
sudo  iptables -P FORWARD ACCEPT
sudo  iptables -P OUTPUT ACCEPT

3.2、开启端口转发(/etc/sysctl.conf)

1
2
3
4
# 开启端口转发
sudo  sysctl net.ipv4.ip_forward=1
# 查看
sudo  sysctl -a |  grep  ip_forward

3.3、配置端口转发

1
2
3
4
5
# 转发规则配置(可添加详细的限制规则)
sudo  iptables -t nat -A PREROUTING -p tcp --dport 7777 -j DNAT --to-destination 192.168.7.8:8888
sudo  iptables -t nat -A POSTROUTING -j MASQUERADE
# 查看
sudo  iptables -t nat -nL

3.3、移除示例

1
2
3
4
#查看
sudo  iptables -t nat -nL --line-numbers
#移除。最后的数字为加 --line-numbers 参数后 num 显示的序号
sudo  iptables -t nat -D POSTROUTING 1

3.4、端口查看

1
sudo  netstat  -anpt |  grep  7777

可以看到 iptables 端口转发的连接并不能用 netstat 查看,因为 NAPT 并不需要占用端口(为啥?),7777 端口仍然可以被其它程序使用。若需查看,可使用 netstat-nat 命令。


相关阅读:

1、网络端口的转发和重定向(Python)

2、Windows 和 Linux 平台下的端口转发工具

3、简单的TCP代理服务器

4、centos6.5 iptables实现端口转发


*** walker的流水账 ***

本文转自walker snapshot博客51CTO博客,原文链接http://blog.51cto.com/walkerqt/1947585如需转载请自行联系原作者


RQSLT

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
基于阿里云,构建一个企业web应用上云经典架构,让IT从业者体验企业级架构的实战训练。
相关文章
|
6天前
|
iOS开发 MacOS Windows
|
3天前
|
NoSQL Linux Redis
Redis的介绍,以及Redis的安装(本机windows版,虚拟机Linux版)和Redis常用命令的介绍
Redis的介绍,以及Redis的安装(本机windows版,虚拟机Linux版)和Redis常用命令的介绍
17 0
|
6天前
|
安全 Linux 网络安全
|
12天前
|
前端开发 Linux iOS开发
【Flutter前端技术开发专栏】Flutter在桌面应用(Windows/macOS/Linux)的开发实践
【4月更文挑战第30天】Flutter扩展至桌面应用开发,允许开发者用同一代码库构建Windows、macOS和Linux应用,提高效率并保持平台一致性。创建桌面应用需指定目标平台,如`flutter create -t windows my_desktop_app`。开发中注意UI适配、性能优化、系统交互及测试部署。UI适配利用布局组件和`MediaQuery`,性能优化借助`PerformanceLogging`、`Isolate`和`compute`。
【Flutter前端技术开发专栏】Flutter在桌面应用(Windows/macOS/Linux)的开发实践
|
13天前
|
弹性计算 Shell Linux
|
13天前
|
Linux Python Windows
Python虚拟环境virtualenv安装保姆级教程(Windows和linux)
Python虚拟环境virtualenv安装保姆级教程(Windows和linux)
|
13天前
|
安全 Linux 网络安全
【专栏】在 Linux 中,端口连接服务和应用,过多开放的端口可能带来安全隐患,教你一招找出所有开放的端口,然后直接干掉!
【4月更文挑战第28天】在 Linux 中,端口连接服务和应用,过多开放的端口可能带来安全隐患。要找出开放端口,可使用 `netstat -anp`、`lsof -i` 或 `nmap` 命令。关闭端口可通过停止相关服务、修改防火墙规则或禁用网络接口。注意不要随意关闭重要端口,操作前备份数据。保持端口安全对系统安全至关重要。
|
18天前
|
Linux 网络安全
【Linux】如何修改为固定ip和增加端口
【Linux】如何修改为固定ip和增加端口
8 1
|
18天前
|
XML 安全 Linux
Linux 防火墙开启端口
Linux 防火墙开启端口
30 1