博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
批量端口映射
阅读量:6813 次
发布时间:2019-06-26

本文共 2324 字,大约阅读时间需要 7 分钟。

批量端口映射

内网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初始端口,每循环一次加1let deskport=6020       #网关远程桌面初始端口,每循环一次加1let ipnum=20            #windows初始ip末位,每循环一次加1let ipstop=25           #windows终止ip末位pub_ip=10.199.2.12       #网关ipnat_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.1sudo 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 -pfisudo iptables -t nat -Fsudo iptables -t nat -A POSTROUTING -j MASQUERADEsudo 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_portsudo echo -e "$nat_ip.$ipnum\t\t$pub_ip:$vncport\t\t$pub_ip:$deskport"let vncport=vncport+1let deskport=deskport+1let ipnum=ipnum+1donesudo 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:6020192.168.10.21       10.199.2.12:7021        10.199.2.12:6021192.168.10.22       10.199.2.12:7022        10.199.2.12:6022192.168.10.23       10.199.2.12:7023        10.199.2.12:6023192.168.10.24       10.199.2.12:7024        10.199.2.12:6024192.168.10.25       10.199.2.12:7025        10.199.2.12:6025help: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

你可能感兴趣的文章
win32 UNICODE 支持
查看>>
MySQL+DRBD+Corosync+Pacemaker CentOS6.5版
查看>>
在CentOS 6.5上安装和配Xen
查看>>
重载类的 new,delete,new[],delete[] 运算符成员函数
查看>>
Express 3.x升级到4.x 优缺点
查看>>
我的友情链接
查看>>
inittab文件丢失恢复
查看>>
ocjp 51-60
查看>>
我的友情链接
查看>>
windows下的任务不能自动执行的解决办法
查看>>
VACL配置说明
查看>>
shell防DDOS
查看>>
go语言 学习笔记1
查看>>
一键包安装lamp或lnmp环境
查看>>
网络提速(最短路)
查看>>
Spring整合MongoDB实现多个or的范围查询
查看>>
python安装包模块
查看>>
swap内存交换空间构建
查看>>
无标题文章正则表达式
查看>>
存储因管理员策略问题显示脱机解决方法
查看>>