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应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
相关文章
|
5月前
|
弹性计算 应用服务中间件 Linux
阿里云服务器开放端口完整图文教程
笔者近期开发完成的服务端程序部署在阿里云的ECS云服务器上面,一些应用程序配置文件需要设置监听的端口(如Tomcat的8080、443端口等),虽然通过CentOs 7系统的的「防火墙」开放了对应的端口号,任然无法访问端口号对应的应用程序,后面了解到原来还需要设置云服务器的「安全组规则」,开放相应的端口权限,服务端的接口才能真正开放。
741 1
|
26天前
|
安全 网络协议 算法
HTTPS为什么可以穿越NAT端口映射设备
HTTPS能穿越NAT端口映射设备的原因在于,NAT设备仅在IP和端口层面进行地址转换,不对应用层协议(如TLS)的内容进行解析或干预。因此,HTTPS的加密通信可在客户端与服务器间直接建立,NAT设备充当透明中介,确保数据包正确路由,而不涉及加密或认证过程。这样即使没有在NAT设备上配置证书,HTTPS连接也能顺利建立并保持安全。
30 6
|
5月前
|
负载均衡 网络协议 Linux
|
4月前
|
网络协议 Linux 应用服务中间件
如何使用Iptables在Linux网关上转发端口
如何使用Iptables在Linux网关上转发端口
135 5
|
5月前
|
弹性计算 运维 数据安全/隐私保护
云服务器 ECS产品使用问题之如何更改服务器的IP地址或端口号
云服务器ECS(Elastic Compute Service)是各大云服务商阿里云提供的一种基础云计算服务,它允许用户租用云端计算资源来部署和运行各种应用程序。以下是一个关于如何使用ECS产品的综合指南。
|
4月前
|
缓存 NoSQL 网络安全
【Azure Redis 缓存】使用开源工具redis-copy时遇见6379端口无法连接到Redis服务器的问题
【Azure Redis 缓存】使用开源工具redis-copy时遇见6379端口无法连接到Redis服务器的问题
|
5月前
|
网络协议 Linux Unix
面试官:服务器最大可以创建多少个tcp连接以及端口并解释下你对文件句柄的理解
面试官:服务器最大可以创建多少个tcp连接以及端口并解释下你对文件句柄的理解
152 0
面试官:服务器最大可以创建多少个tcp连接以及端口并解释下你对文件句柄的理解
|
4月前
|
网络协议 Linux
在Linux中,如何使用iptables 写⼀条规则?把来源IP为192.168.1.101访问本机80端口的包直接拒绝.
在Linux中,如何使用iptables 写⼀条规则?把来源IP为192.168.1.101访问本机80端口的包直接拒绝.
|
5月前
|
SQL 弹性计算 关系型数据库
PolarDB产品使用问题之如何和ECS实例实现内网互通
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。
|
4月前
|
网络协议
【qt】TCP的监听 (设置服务器IP地址和端口号)
【qt】TCP的监听 (设置服务器IP地址和端口号)
272 0

热门文章

最新文章