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

简介:

命令格式
-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应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
相关文章
|
开发者 ice
实时云渲染中的NAT转发服务支持个人电脑秒变云渲染服务器
实时云渲染技术广泛应用于XR领域,助力数千客户完成云端部署。平行云推出的转发服务解决了家庭网络动态IP问题,使个人电脑成为实时云渲染服务器,按实际使用分钟数计费,无用户访问不收费。通过配置LarkXR的代理转发Server和ICE Server,开发者可轻松实现互联网访问内网XR应用,极大提升了开发、测试和演示的便利性。
326 11
|
安全 网络协议 算法
HTTPS为什么可以穿越NAT端口映射设备
HTTPS能穿越NAT端口映射设备的原因在于,NAT设备仅在IP和端口层面进行地址转换,不对应用层协议(如TLS)的内容进行解析或干预。因此,HTTPS的加密通信可在客户端与服务器间直接建立,NAT设备充当透明中介,确保数据包正确路由,而不涉及加密或认证过程。这样即使没有在NAT设备上配置证书,HTTPS连接也能顺利建立并保持安全。
429 6
|
网络协议 安全 网络安全
Cisco-网络端口地址转换NAPT配置
Cisco-网络端口地址转换NAPT配置
402 1
|
SQL 弹性计算 关系型数据库
PolarDB产品使用问题之如何和ECS实例实现内网互通
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。
|
NoSQL 关系型数据库 MySQL
多机部署:打造内网服务器集群
在多机部署教程中,了解如何配置分布式应用如Laravel以使用Redis同步用户状态。关键步骤包括:修改MySQL的`bind-address`至内网IP,重启服务;同样修改Redis的`bind`,重启服务;以及调整Elasticsearch的`network.host`和`discovery.seed_hosts`,并重启。通过这些步骤,确保服务间能内网通信,实现多服务器状态同步。
502 2
|
弹性计算 网络协议 Serverless
Serverless 应用引擎操作报错合集之使用ecs,反代到函数的内网域名上,提示{"ErrorCode":"DomainNameNotFound",是什么原因
Serverless 应用引擎(SAE)是阿里云提供的Serverless PaaS平台,支持Spring Cloud、Dubbo、HSF等主流微服务框架,简化应用的部署、运维和弹性伸缩。在使用SAE过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
403 7
|
SQL 网络协议 NoSQL
【Azure 应用服务】App Service/Azure Function的出站连接过多而引起了SNAT端口耗尽,导致一些新的请求出现超时错误(Timeout)
【Azure 应用服务】App Service/Azure Function的出站连接过多而引起了SNAT端口耗尽,导致一些新的请求出现超时错误(Timeout)
289 0
|
网络协议 安全
ensp中nat server 公网访问内网服务器
ensp中nat server 公网访问内网服务器
742 1
端口地址转换(PAT)与私有IP的映射
【4月更文挑战第12天】
1456 1
|
网络协议 Linux Windows
测试端口是否开放 tcp端口 udp端口 测试服务器端口连通性
测试端口是否开放 tcp端口 udp端口 测试服务器端口连通性
868 0