利用脚本自动配置iptables的NAT端口映射
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,上篇博客写了如何在VMware ESX和XenServer环境下配置NAT,解决了内网虚拟机访问外网的问题,还没解决外网访问内网的问题。每增加一台虚拟机就增加几条映射规则太麻烦,实现把端口都映射好了,
千家信息网最后更新 2025年12月02日利用脚本自动配置iptables的NAT端口映射
上篇博客写了如何在VMware ESX和XenServer环境下配置NAT,解决了内网虚拟机访问外网的问题,还没解决外网访问内网的问题。
每增加一台虚拟机就增加几条映射规则太麻烦,实现把端口都映射好了,就不需要每次添加了。
端口映射规则如下:
num是内网IP地址的最后一个数
ssh端口22映射到 10000+num
比如一个内网地址为192.168.1.5的虚拟机,它的22号端口映射到主机的10005端口。
vnc的590x端口(只提供两个端口)
5901端口映射到 20000+内网地址最后一个数x10+1
5902端口映射到 20000+内网地址最后一个数x10+2
比如192.168.1.20的1号VNC映射到主机的20000+20x10+1=20201
192.168.1.200的5号端口映射到主机的20000+200x10+5=22005
192.168.1.201的2号端口映射到主机的20000+201x10+5=22012
windows远程桌面的3389端口映射到30000+num
http的80端口映射到40000+num
利用脚本完成配置:
- #!/bin/bash
- #remap port
- # i is the last num of the inner address
- for i in $(seq 50)
- do
- if [ $i -ne 1 ]
- then
- #ssh port 22
- #port 22 is mapped to 10000+i
- let "mapport=$i + 10000"
- /sbin/iptables -t nat -A PREROUTING -i eth2 -p tcp -d 10.109.247.169 --dport $mapport -j DNAT --to-destination 192.168.1.$i:21
- echo 10.109.247.169:$mapport mapped to 192.168.1.$i:22
- #vnc port 590x
- #port 590x is mapped to 20001+ix10+x
- let "j=$i * 10"
- let "mapport=$j + 20001"
- /sbin/iptables -t nat -A PREROUTING -i eth2 -p tcp -d 10.109.247.169 --dport $mapport -j DNAT --to-destination 192.168.1.$i:5901
- echo 10.109.247.169:$mapport mapped to 192.168.1.$i:5901
- let "mapport=$mapport + 1"
- /sbin/iptables -t nat -A PREROUTING -i eth2 -p tcp -d 10.109.247.169 --dport $mapport -j DNAT --to-destination 192.168.1.$i:5902
- echo 10.109.247.169:$mapport mapped to 192.168.1.$i:5902
- #remote desktop port 3389
- #port 3389 is mapped to 30000+i
- let "mapport=$i + 30000"
- /sbin/iptables -t nat -A PREROUTING -i eth2 -p tcp -d 10.109.247.169 --dport $mapport -j DNAT --to-destination 192.168.1.$i:3389
- echo 10.109.247.169:$mapport mapped to 192.168.1.$i:3389
- #http port 80
- #port 80 is mapped to 40000+i
- let "mapport=$i + 40000"
- /sbin/iptables -t nat -A PREROUTING -i eth2 -p tcp -d 10.109.247.169 --dport $mapport -j DNAT --to-destination 192.168.1.$i:3389
- echo 10.109.247.169:$mapport mapped to 192.168.1.$i:80
- fi
- done
端口
主机
地址
个数
配置
规则
问题
脚本
上篇
两个
博客
桌面
环境
麻烦
加一
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
MES系统使用什么数据库
c 内存数据库
中专计算机网络技术课件
少林拳视频软件开发
光伏电站气象服务器巡检表怎么做
网络安全智能网联协同创新中心
数据库的耦合是指上下级
正版方舟服务器管理员
数据库应用技术电大期末考试
请人帮忙做软件开发的官网
网络安全密钥指的是什么
like 数据库
saas模式数据库
sql数据库如何导入
禹城市公安局网络安全负责人
网景软件开发
软件开发大专工资待遇
一个数据库读写分离
金山区发展网络技术咨询产品
争当网络安全排头兵
泰隆银行软件开发工资待遇
新华e在线网络安全知识
理想连线网络技术
创建数据库连接代码
服务器地址管理地址
网络安全法实名制是否强制
软件开发纳税筹划案例分析
小学网络安全知识教学设计
华为服务器自检特别卡
星际争霸2服务器怎么下载数据