iptables外网一端口通过NAT转发内网一服务器端口上

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

命令格式
-A PREROUTING -d 服务器IP -p tcp -m tcp --dport 端口2222 -j DNAT --to-destination 内网IP:22
-A POSTROUTING -s 192.168.10.0/255.255.255.0 -o 网卡eth0 -j SNAT --to-source  服务器IP

直接修改/etc/sysconfig/iptables
-A PREROUTING -d 192.168.68.132 -p tcp -m tcp --dport 2222 -j DNAT --to-destination 192.168.10.253:22
-A POSTROUTING -s 192.168.68.0/255.255.255.0 -o eth0 -j SNAT --to-source  192.168.68.132

或者使用命令
iptables -t nat -A PREROUTING -d 192.168.68.132 -p tcp -m tcp --dport 2222 -j DNAT --to-destination 192.168.10.253:22
iptables -t nat -A POSTROUTING -s 192.168.68.0/255.255.255.0 -o eth0 -j SNAT --to-source  192.168.68.132

注意FORWARD
:FORWARD ACCEPT [0:0]

检查sysctl
/etc/sysctl.conf
net.ipv4.ip_forward = 1
sysctl -p

重启IPTABLES
/etc/init.d/iptables restart

SHELL脚本
 

 
  1. #!/bin/bash  
  2. modprobe ip_tables              
  3. modprobe iptable_nat           
  4. modprobe ip_nat_ftp             
  5. modprobe ip_conntrack          
  6. modprobe ip_conntrack_ftp   
  7.  
  8. ipt=/sbin/iptables  
  9.  
  10. lan=192.168.68.0/24  
  11. lo=127.0.0.1  
  12.  
  13. $ipt -F  
  14. $ipt -t nat  -F  
  15.  
  16. $ipt -N allow  
  17. $ipt -A allow -j ACCEPT  
  18.  
  19. ####  
  20. $ipt -A INPUT -s $lo -j allow  
  21. $ipt -A INPUT -s $lan -j allow  
  22. $ipt -A INPUT -p tcp --dport 33308  -j allow   
  23. $ipt -A INPUT -p udp --dport 123  -j allow   
  24. $ipt -A INPUT  -p tcp --dport 80  -j allow  
  25. $ipt -A INPUT  -p tcp --dport 22  -j allow  
  26. $ipt -A INPUT -p udp --sport 53  -j allow  
  27.  
  28. ####forward  
  29. echo '1' > /proc/sys/net/ipv4/ip_forward  
  30.  
  31. $ipt -t nat -A PREROUTING -d 192.168.68.132 -p tcp -m tcp --dport 2222 -j DNAT --to-destination 192.168.10.253:22  
  32. $ipt -t nat -A POSTROUTING -s 192.168.68.0/255.255.255.0 -o eth0 -j SNAT --to-source  192.168.68.132  
  33.  
  34. ####  
  35. $ipt -A INPUT -j DROP  
  36. /sbin/service iptables save 

 执行脚本后

重启IPTABLES
/etc/init.d/iptables restart

 


本文转自 ppabc  51CTO博客,原文链接:http://blog.51cto.com/ppabc/796588


相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
相关文章
|
4月前
|
SQL 弹性计算 关系型数据库
PolarDB产品使用问题之如何和ECS实例实现内网互通
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。
|
4月前
|
存储 安全 网络安全
服务器设置了端口映射之后外网还是访问不了服务器
服务器设置了端口映射之后外网还是访问不了服务器
|
4月前
|
NoSQL 关系型数据库 MySQL
多机部署:打造内网服务器集群
在多机部署教程中,了解如何配置分布式应用如Laravel以使用Redis同步用户状态。关键步骤包括:修改MySQL的`bind-address`至内网IP,重启服务;同样修改Redis的`bind`,重启服务;以及调整Elasticsearch的`network.host`和`discovery.seed_hosts`,并重启。通过这些步骤,确保服务间能内网通信,实现多服务器状态同步。
129 2
|
5月前
|
弹性计算 网络协议 Serverless
Serverless 应用引擎操作报错合集之使用ecs,反代到函数的内网域名上,提示{"ErrorCode":"DomainNameNotFound",是什么原因
Serverless 应用引擎(SAE)是阿里云提供的Serverless PaaS平台,支持Spring Cloud、Dubbo、HSF等主流微服务框架,简化应用的部署、运维和弹性伸缩。在使用SAE过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
|
5月前
|
弹性计算 Ubuntu Linux
为什么要学习去使用云服务器,外网 IP能干什么,MAC使用Termius连接阿里云服务器。保姆级教学
为什么要学习去使用云服务器,外网 IP能干什么,MAC使用Termius连接阿里云服务器。保姆级教学
|
6月前
|
网络协议 安全
ensp中nat server 公网访问内网服务器
ensp中nat server 公网访问内网服务器
102 1
|
6月前
|
前端开发 安全 搜索推荐
【专栏】ngrok` 是一款让本地服务器暴露到公网的工具,提供外网访问、临时公网地址、安全隧道及实时更新功能
`【4月更文挑战第29天】ngrok` 是一款让本地服务器暴露到公网的工具,提供外网访问、临时公网地址、安全隧道及实时更新功能。使用简单,包括下载客户端、注册认证、启动本地服务和执行命令。在前端开发中,ngrok 用于本地开发调试、跨设备测试、前后端联调、演示分享和应急处理。它提高了开发效率,简化网络环境和部署问题。无论是移动应用测试还是团队协作,ngrok 都能发挥关键作用,是前端开发者必备神器。尝试使用 ngrok,提升你的开发体验。
391 3
|
6月前
|
弹性计算 Linux Docker
ECS网络问题之通过公网连接外网如何解决
ECS(Elastic Compute Service,弹性计算服务)是云计算服务提供商提供的一种基础云服务,允许用户在云端获取和配置虚拟服务器。以下是ECS服务使用中的一些常见问题及其解答的合集:
|
6月前
|
弹性计算 容灾 关系型数据库
ECS互通问题之与polarDB内网互通如何解决
ECS(Elastic Compute Service,弹性计算服务)是云计算服务提供商提供的一种基础云服务,允许用户在云端获取和配置虚拟服务器。以下是ECS服务使用中的一些常见问题及其解答的合集:
|
6月前
|
Linux 网络安全 文件存储
本地部署Jellyfin影音服务器并实现远程访问内网影音库
本地部署Jellyfin影音服务器并实现远程访问内网影音库
106 0