iptables 从一台机到另一台机端口转发

启用网卡转发功能
#echo 1 > /proc/sys/net/ipv4/ip_forward

举例:从192.168.0.132:21521(新端口)访问192.168.0.211:1521端口

a.同一端口转发(192.168.0.132上开通1521端口访问 iptables -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 1521 -j ACCEPT)

iptables -t nat -I PREROUTING -p tcp --dport 1521 -j DNAT --to 192.168.0.211
iptables -t nat -I POSTROUTING -p tcp --dport 1521 -j MASQUERADE

b.不同端口转发(192.168.0.132上开通21521端口访问 iptables -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21521 -j ACCEPT)

iptables -t nat -A PREROUTING -p tcp -m tcp --dport21521 -j DNAT --to-destination192.168.0.211:1521
iptables -t nat -A POSTROUTING -s 192.168.0.0/16 -d 192.168.0.211 -p tcp -m tcp --dport 1521 -j SNAT --to-source 192.168.0.132

以上两条等价配置(更简单[指定网卡]):
iptables -t nat -A PREROUTING -p tcp -i eth0 --dport 31521 -j DNAT --to 192.168.0.211:1521
iptables -t nat -A POSTROUTING -j MASQUERADE

保存iptables
#service iptables save
#service iptables restart

二 用iptables做本机端口转发

代码如下:
  iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8080

估计适当增加其它的参数也可以做不同IP的端口转发。

如果需要本机也可以访问,则需要配置OUTPUT链(********特别注意:本机访问外网的端口会转发到本地,导致访不到外网,如访问yown.com,实际上是访问到本地,建议不做80端口的转发或者指定目的 -d localhost):

iptables -t nat -A OUTPUT -d localhost -p tcp --dport 80 -j REDIRECT --to-ports 8080

原因:
外网访问需要经过PREROUTING链,但是localhost不经过该链,因此需要用OUTPUT。

#######################################################################################

概述:公司有一些核心MySQL服务器位于核心机房的内网段,作为运维人员,经常需要去连接这些服务器,因无法直接通过外网访问,给管理造成了不便。

思路:虽然解决此问题的方法及思路有很多,但当下想使用IPTABLES的端口重定向功能解决此问题,比较简单易用,而且扩展性也比较好,依次类推,可以运用到其他的端口转发方面的应用。
网络环境:
公网服务器      :eth0:公网IP    eth1:内网IP - 192.168.1.1
mysql服务器:eth1:内网IP - 192.168.1.2

实现方法:通过访问公网IP的63306端口来实现到内网MYSQL服务器的3306端口的访问
在公网服务器上:
配置脚本:
iptables -t nat -A PREROUTING -p tcp --dport 63306 -j DNAT --to-destination 192.168.1.2:3306
iptables -t nat -A POSTROUTING -d 192.168.1.2 -p tcp --dport 3306 -j SNAT --to 192.168.1.1

允许服务器的IP转发功能:

echo 1 > /proc/sys/net/ipv4/ip_forward
使用方法:
mysql -h 公网IP -p 63306 -uroot -p

###############################################################################################

由于业务需要,服务器越来越多,内网服务器无外网环境管理甚是不便,所以折腾了一下外网到内网的端口转发以达到轻松管理的目的,贴一下心得。

S1:
eth0 10.0.0.1
eth1 x.x.x.x

S2:
eth0 10.0.0.2

S1 8082端口转发到内网机器22端口

iptables规则配置如下:

iptables -t nat -A PREROUTING -d x.x.x.x -p tcp --dport 8082 -j DNAT --to-destination 10.0.0.2:22

iptables -t nat -A POSTROUTING -d 10.0.0.2 -p tcp --dport 22 -j SNAT --to-source x.x.x.x

说明:
iptables -t nat -A PREROUTING -d "对外公网ip" -p tcp --dport "对外端口" -j DNAT --to "内部实际提供服务的ip":"实际提供服务的端口"

iptables -t nat -A POSTROUTING -d "内部实际提供服务的ip"-p tcp --dport "实际提供服务的端口" -j SNAT --to-source "运行iptables机器的内网ip"

原文地址:https://www.cnblogs.com/qiangyuzhou/p/10657503.html

时间: 2024-08-30 16:54:29

iptables 从一台机到另一台机端口转发的相关文章

iptables进行本机端口转发

备注: 平时用iptables较少,基本会直接关闭,由于近期使用新智云进行测试实验,需要连接外面的oracle,二新智云向外连接是只能连接80端口,无法连接1521端口,只能进行端口转发. 执行: #iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 1521 #service iptables save 原文地址:http://blog.51cto.com/jingfeng/2057110

Iptables 本机端口转发

iptables -t nat -A PREROUTING -p tcp --dport 7055 -j REDIRECT --to-ports 6668 原文地址:https://www.cnblogs.com/lee-qi/p/12391217.html

快速入门linux系统的iptables防火墙 1 本机与外界的基本通信管理

概述 iptables是一种运行在linux下的防火墙组件,下面的介绍可以快速的学习iptables的入门使用. 特点(重要) 它的工作逻辑分为 链.表.规则三层结构. 数据包通过的时候,在对应表中,规则从上向下匹配,匹配到即跳出,后续规则忽略. 常用于过滤数据包和转发数据包(代理服务器). 工作方式基于IP 端口 和MAC 结构 链名 PREROUTING FORWARD POSTROUTING INPUT OUTPUT 含义 一般是指从外网发送到当前主机上 并且在路由规则处理之前 一般指从外

虚拟机中2台Linux系统、2台客户机实现通信,并且可以以主机名ping通

实现目标:虚拟机中2台Linux系统.2台客户机实现通信,并且可以以主机名ping通 实验准备:1.在虚拟机中2台linux系统.一台win7.一台win2008 2.linuxA和linuxB作为2台路由器,win7和win2008作为2端的客户机 3.2台linux都加装一个网卡设备 导言:此实验用到思科路由交换技术. 我们所要实现的实验的访问路径如下: 客户机win7----->LINUX A----->LINUX B----->客户机win2008 并且实现通过ping主机名也可

dd wipe 命令磁盘清空shell脚本,笔记本台机MAC通用

教程目标:dd wipe 命令磁盘清空shell脚本,笔记本台机MAC通用 日    期:2015年08月20日 联系邮箱:[email protected] Q Q  群:1851 15701 51CTO博客首页:http://990487026.blog.51cto.com 生产需求: 公司人数达到一定数目,就会存在人员流动,然后附属的PC或者Server,MAC当然要彻底清空里面的数据,装好新的windows,linux,MAC系统库存起来,留给下一个准备入职的人员使用. 使用这个脚本能大

CentOS 7创建自定义KVM模板(现有KVM迁移到另外一台机)

说明:创建KVM模板有个好处,不用每次都运行命令创建,并且可以为迁移做准备. 一.创建KVM模板 1.下载iso(省略) 2.创建磁盘 qemu-img create -f raw centos7.raw 50G 3.编写XML <domain type='kvm'> <name>centos7</name> <uuid>354ca6f8-d70e-485b-8d0b-2ec295056e09</uuid> <memory unit='Ki

在一台电脑访问另一台电脑的mysql数据库

1.      假设192.168.1.3为服务器 2.      首先在ip为192.168.1.103的机子上能够ping 通 运行->cmd >ping  192.168.1.3 检查是否能ping通 3.      把两台电脑的IP设置在同一个网段, 如:192.168.1.2 ,192.168.1.3.....子网:255.255.255.0 网关:192.168.1.1 4.      在mysql服务器上增加新用户, 增加新用户的方法: 在服务器端 Mysql> grant

花1台的钱入手2台【最能抗DDoS】阿里云主机【攻略】

花1台的钱入手2台[最能抗DDoS]阿里云主机[攻略]: 第一步:先申请0元半年 http://click.aliyun.com/m/335/:注:0元机器只有新帐号可申请第二步:再买6折37/月 http://click.aliyun.com/m/623/ :注:最长可买5个月这样,你花1台的钱就入手啦2台阿里云主机,神马企业门户.博客.论坛哒,非常足够啦 占便宜不想停的,还可以用SLB搞个小小集群第三步:再免费领150元的SLB代金券http://click.aliyun.com/m/596

玩转GNS3——实现两台路由设备与两台PC设备之间互联

之前博主介绍了虚拟软件GNS3的详细安装流程,以及做了CPU占用率的部分优化.既然准备工作都已经做好了,那咱们就来实际玩一玩,用GNS3来实现两台路由设备与两台PC设备之间的互通互联. 首先,我们双击这只呆萌的变色龙 进入GNS3的界面之后,我们选择两个路由设备与PC设备,分别拖放到拓扑操作区中 为了实现路由互通互联的功能,R1和R2设备都要设置一下 R1和R2设备要设置一下硬盘空间 下一步开始连线,点PC设备会提示选择网卡 连接R1设备的接口我用的是f0/0 R1接口可用的只有f0/1 连接到