批量端口映射

批量端口映射
内网ip 10.199.2.12
虚拟机网络 192.168.10.0/24
内网访问示例,如访问ip为192.168.10.20的虚拟机,
远程桌面 10.199.2.12:6020
vnc 10.199.2.12:7020

#!/bin/bash
#该shell为linux下创建windows虚拟机,使用linux作为网关时,批量端口映射
#vnc端口映射
let vncport=7020        #网关vnc初始端口,每循环一次加1
let deskport=6020       #网关远程桌面初始端口,每循环一次加1
let ipnum=20            #windows初始ip末位,每循环一次加1
let ipstop=25           #windows终止ip末位
pub_ip=10.199.2.12       #网关ip
nat_ip=192.168.10       #windows私有ip段
nat_vnc_port=5900       #windowsvnc端口
nat_mstsc_port=3389     #windows远程桌面端口
#iptables -t nat -A POSTROUTING -d $nat_ip.0/24 -p tcp --dport 5900 -j SNAT --to-source $nat_ip.1
#iptables -t nat -A POSTROUTING -d $nat_ip.0/24 -p tcp --dport 3389 -j SNAT --to-source $nat_ip.1
sudo grep net.ipv4.ip_forward=1 /etc/sysctl.conf 
if [ $? -ne 0 ]
then
    sudo echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
    sudo sysctl -p
fi
sudo iptables -t nat -F
sudo iptables -t nat -A POSTROUTING -j MASQUERADE
sudo echo -e "端口映射情况如下:\nwindows的ip地址\t\tvnc登录地址\t\t远程桌面登录地址"
while [ $ipnum -le $ipstop ];do
#vnc端口映射
sudo iptables -t nat -A PREROUTING -d $pub_ip -p tcp  --dport $vncport -j DNAT --to-destination $nat_ip.$ipnum:$nat_vnc_port
#远程桌面端口映射
sudo iptables -t nat -A PREROUTING -d $pub_ip -p tcp  --dport $deskport -j DNAT --to-destination $nat_ip.$ipnum:$nat_mstsc_port
sudo echo -e "$nat_ip.$ipnum\t\t$pub_ip:$vncport\t\t$pub_ip:$deskport"
let vncport=vncport+1
let deskport=deskport+1
let ipnum=ipnum+1
done
sudo echo -e "help:\niptabes -t nat -vnL --line-number\t查看映射表\niptables -t nat -F\t清空映射表"
sudo echo -e "iptables -t nat -D PREROUTING [序号]\t删除PREROUTING第【序号】条规则"
sudo echo -e "iptables -t nat -D POSTROUTING [序号]\t删除POSTROUTING第【序号】条规则"

执行结果

[root@master ~]# sh test.sh 
net.ipv4.ip_forward=1
端口映射情况如下:
windows的ip地址        vnc登录地址         远程桌面登录地址
192.168.10.20       10.199.2.12:7020        10.199.2.12:6020
192.168.10.21       10.199.2.12:7021        10.199.2.12:6021
192.168.10.22       10.199.2.12:7022        10.199.2.12:6022
192.168.10.23       10.199.2.12:7023        10.199.2.12:6023
192.168.10.24       10.199.2.12:7024        10.199.2.12:6024
192.168.10.25       10.199.2.12:7025        10.199.2.12:6025
help:
iptabes -t nat -vnL --line-number   查看映射表
iptables -t nat -F  清空映射表
iptables -t nat -D PREROUTING [序号]  删除PREROUTING第【序号】条规则
iptables -t nat -D POSTROUTING [序号] 删除POSTROUTING第【序号】条规则

转载于:https://blog.51cto.com/quliren/2091157

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在Windows下,一个非常好用的批量端口转发工具是"Port Forwarding Wizard"(端口转发精灵)。这个工具提供了简单且直观的用户界面,方便用户设置端口转发规则。 通过"Port Forwarding Wizard",用户可以快速配置单个或多个端口的转发,包括TCP、UDP等不同协议。用户只需指定本地和远程端口,并选择转发协议,工具会自动完成配置。此外,该工具还支持多个内外网ip地址之间的转发,方便用户处理不同网络环境。 "Port Forwarding Wizard"还提供了各种额外功能,如端口映射、端口镜像、动态DNS等。用户可以根据需要选择合适的功能来满足各种复杂的转发需求。 此外,"Port Forwarding Wizard"还具有良好的稳定性和可靠性,可以长时间运行而不会出现崩溃或错误。它也提供了详细的日志记录功能,用户可以随时查看转发情况,方便排查问题。 总而言之,"Port Forwarding Wizard"是一款非常好用的批量端口转发工具,适用于Windows系统。它提供简单直观的用户界面、多种功能选择和稳定可靠的性能,帮助用户方便快捷地配置和管理端口转发规则。 ### 回答2: 在Windows下,可以使用Cpipe这个批量端口转发工具。Cpipe是一个开源软件,具有很好的转发效率和稳定性。 Cpipe可以同时转发多个端口,支持TCP和UDP协议。通过简单的命令行操作,可以实现端口的转发功能。使用Cpipe,用户可以方便地将请求转发到其他计算机上,实现网络中不同端口之间的通信。 Cpipe的使用非常简单,只需要指定源端口和目标端口以及转发目标的IP地址即可。例如,使用以下命令行可以将本地80端口的请求转发到目标IP地址的8000端口上: ``` cpipe -l localhost:80 -t target_ip:8000 ``` 除了基本的转发功能外,Cpipe还提供了一些其他的高级选项,如限制转发速率、设置超时时间等。用户可以根据自己的需求灵活地配置这些选项。 总的来说,Cpipe是一个功能强大的批量端口转发工具,通过简单的命令行操作,可以轻松实现端口转发功能。无论是在网络调试还是搭建服务器等应用场景中,Cpipe都是一个不错的选择。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值