Linux批量加连续端口映射,批量端口映射

2023-05-16

b1c451de26fbadd8a913ef8588f8ad3c.png

内网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第【序号】条规则

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux批量加连续端口映射,批量端口映射 的相关文章

随机推荐

  • 推荐几个知名顶级的文献网站

    有人在后台给我留言 xff0c 让我推荐几个查找文献的网站 xff0c 周末特别花了点时间整理了一下 在这里推荐给大家 xff0c 希望对大家有帮助 xff01 本文总共分为2篇 xff0c 一篇为国内的网站 xff0c 一篇为国外的网站
  • 树莓派3折腾笔记

    这篇教程将带您一起玩转树莓派3 xff08 Raspberry Pi 3 xff09 和普通PC一样 xff0c 拿到新设备第一件事就是要给它安装一个操作系统 xff0c 并做一些初始化的操作 比PC简单的是 xff0c 树莓派是一个固定配
  • linux系统怎么安全杀毒软件,Linux系统用什么杀毒软件 为什么Linux不中毒

    Linux下有哪些杀毒软件 国产的我找了一遍貌似没有 xff0c 国外的avast norton eset也不支持 其实之前有了解过Linux不容易中毒 xff0c 但没有考虑过Linux下有哪些杀毒软件 xff0c 为什么Linux不容易
  • electron与jquery起冲突,使用jquery报错解决方法

    问题原因 xff1a Electron 为了整合 Node js xff0c 会在 DOM 加入 module exports require 等模块和函数 xff0c 和jQuery RequireJS Meteor AngularJS
  • 安装图形化界面consol/centos-xfce-vnc

    直接通过docker hub上的centos镜像安装centos docker search centos docker 64 localhost education docker search centos NAME DESCRIPTIO
  • php curl http digest

    php用curl访问有http digest验证的网址时 xff0c 不能直接加在URL上 xff0c 例如 xff1a http user pass 64 xxx xxx xxx xxx index php a 61 1 amp b 61
  • PS基础教程[1]如何制作微信泡泡

    PS是很多朋友都很喜欢额一款图像处理软件 xff0c 我们可以使用PS制作很多的效果 xff0c 本系列经验教程的起源就来源于知道中这位朋友问的微信泡泡如何使用 xff0c 下面就来简单的分享一下 微信泡泡制作方法 有很多的方法可以制作这种
  • 《计算机组成原理》第6章:总线

    第6章 xff1a 总线 6 1 总线概述 总线的定义 总线是一组能为多个部件分时共享的公共信息传送线路 分时和共享是总线的两个特点 分时是指同一时刻只允许有一个部件向总线发送信息 xff0c 如果系统中有多个部件 xff0c 则它们只能分
  • Fragment生命周期及add、replace、remove、hide&show方法分析

    转载自https blog csdn net u014699958 article details 52996143 项目有一个Activity类和3个Fragment类 Activity 中放置3个按钮 xff08 实质TextView
  • Fragment 中使用 getActivity()为null的原因---剖析源码

    问题 xff1a 使用 AS 在 Fragment 中调用 getActivity 方法的时候会出现可能为空指针的提醒 思考 为什么会出现这种情况 xff0c 按说当前 Activity 存在 xff0c 在 Fragment 中使用 ge
  • 测试用例设计方案

    以淘宝加入购物车为例 xff1a 1 看整个流程分为几个节点 xff1a a 选择物品 b 点击加入购物车 c 查看购物车 结果验证 2 根据每个节点的输入输出设计场景 a 选择物品的场景的影响因素 xff1a 请求来源 设备 账号 库存
  • CSS transform中的rotate的旋转中心怎么设置

    transform origin 属性 默认情况 xff0c 变形的原点在元素的中心点 xff0c 或者是元素X轴和Y轴的50 处 我们没有使用transform origin改变元素原点位置的情况下 xff0c CSS变形进行的旋转 移位
  • 松耦合和紧耦合

    Question 首先 xff0c 明确一点 xff0c 什么是松耦合 xff1f 什么是紧耦合 xff1f Answer 比如说两个模块 xff0c A模块和B模块 xff0c 当两者的关联非常多的时候 xff0c 就叫紧耦合 xff0c
  • 把pandas dataframe转为list方法

    把pandas dataframe转为list方法 先用numpy的 array 转为ndarray类型 xff0c 再用tolist 函数转为list 转载于 https www cnblogs com lichunl p 9622923
  • docker容器中使用top、free命令查看容器真实cpu和内存使用情况的实践

    参考 xff1a https www colabug com 1759782 html 转载于 https www cnblogs com robinunix p 10482908 html
  • 人性的弱点之情商

    处理好人际关系 真诚赞美他人 xff0c 不要过度批评他人 赢得他人喜爱的4个方式 xff1a 真诚关注他人 记住名字和生日 建立好的第一印象 保持微笑 善谈就是倾听 迎合对方兴趣 让他人为你所用 xff1a 避免争论 避免树敌 坦率承认自
  • 小米笔记本进入安全模式比较靠谱的方法

    在锁屏界面 xff0c 按住shift按键 xff0c 然后右下角进入重启就可以进入win10恢复模式 转载于 https www cnblogs com yang xiansen p 10471358 html
  • pytorch 中Tensor.uniform_代替numpy.random.uniform

    uniform from 61 0 to 61 1 Tensor 将tensor用从均匀分布中抽样得到的值填充 例如 a 61 torch Tensor 2 3 uniform 1 1 转载于 https www cnblogs com z
  • STM32 嵌入式操作系统的进入 HardFault_Handler分析

    STM32在使用中 xff0c 因为一般没有其他异常抛出 xff0c 所以抛出异常一般都是HardFault Handler 导致产生该现象的原因有一下几点 xff1a 1 数组越界操作 xff1b 2 内存溢出 xff0c 访问越界 xf
  • Linux批量加连续端口映射,批量端口映射

    内网ip 10 199 2 12 虚拟机网络 192 168 10 0 24 内网访问示例 xff0c 如访问ip为192 168 10 20的虚拟机 xff0c 远程桌面 10 199 2 12 6020 vnc 10 199 2 12