日常Iptables 端口转发

  1. 需求:公司是局域网络,通过一个外网ip,进行互联网的访问。公司的云平台服务器在公网中,虚拟化平台中有一台内部服务器,用于公司某部门的使用,上面运行www 服务,ssh端口,方便平时上传网站文件。现领导要求将此内部服务器交接给此部门,并只让其在公司内部访问,外面的公网是拒绝访问的。

结构图:

2.解决方法:通过linux 服务器的iptables,利用端口转发,在公司内部通过A机器(或者说A代表某个部门),使其访问到B机器上的特定连接转发至内部机器C上。由于机房服务器只开放了特定端口,所以,利用B机器的9090端口和80端口分别转发到内部机器C上的22端口和80端口。

修改防火墙之前,需要先修改系统内核,开启ipv4转发功能:vim /etc/sysconfig,修改以下值 ipv4_net_forward = 1 ,之后运行 sysctl -p 命令生效。

先备份一下防火墙的配置文件,之后编辑防火墙:vim /etc/sysconfig/iptables,追加以下规则(做转发的四条规则必须写在nat表中):

*nat

:PREROUTING ACCEPT [:]

:POSTROUTING ACCEPT [:]

:OUTPUT ACCEPT [:]
-A PREROUTING -s 223.1.1.2 -d 101.1.1.3 -p tcp -m tcp --dport -j DNAT --to-destination 10.8.88.88: -A POSTROUTING -d 10.8.88.88 -p tcp -m tcp --dport -j SNAT --to-source 10.8.88.77 -A PREROUTING -s 223.1.1.2 -d 101.1.1.3 -p tcp -m tcp --dport -j DNAT --to-destination 10.8.88.88: -A POSTROUTING -d 10.8.88.88 -p tcp -m tcp --dport -j SNAT --to-source 10.8.88.77

注:PREROUTING 来自223.1.1.2 且目标是 101.1.1.3:9090端口的链接转发到 10.8.88.88:22端口上

注:POSTROUTING 回路的包,所有从内部机器C的22端口返回的包转发到B机器上的eth1网卡上

同上:

*filter

-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

-A INPUT -s 223.1.1.2 -p tcp -m tcp --dport  -j ACCEPT

-A INPUT -s 223.1.1.2 -p tcp -m tcp --dport  -j ACCEPT

-A INPUT -j REJECT --reject-with icmp-host-prohibited

3.修改完成后,保存配置。重启iptables服务,现在可以测试一下。

Linux 服务器--Iptables 端口转发的更多相关文章

  1. 〖Linux〗iptables端口转发(11.11.136.80:5552 <==> 10.10.136.1:8055/11.11.136.1:8055)

    环境: pc1: 10.10.72.1 (network: 10.10.72.0/22) pc2: 地址1: 10.10.136.1 (nework: 10.10.136.0/22) 地址2: 11. ...

  2. 烂泥:KVM使用NAT联网并为VM配置iptables端口转发

    本文由秀依林枫提供友情赞助,首发于烂泥行天下. 在前面的文章中,我们介绍KVM的虚拟机(以下简称VM)都是通过桥接方式进行联网的. 本篇文章我们来介绍KVM的VM通过NAT方式进行联网,并且通过配置I ...

  3. 转:KVM使用NAT联网并为VM配置iptables端口转发,kvmiptables

    转载地址:https://www.ilanni.com/?p=7016 在前面的文章中,我们介绍KVM的虚拟机(以下简称VM)都是通过桥接方式进行联网的. 本篇文章我们来介绍KVM的VM通过NAT方式 ...

  4. Linux IPTABLES端口转发

    之前在Linux上用普通用户部署了一个Tomcat,然后将其server.xml中的端口配置为80端口,用普通用户运行就提示绑定端口失败(permission denied),google了一下,原来 ...

  5. linux系统非ROOT用户80端口不能启动tomcat问题的变通办法——通过Iptables端口转发

    2010-07-17 13:21:42 org.apache.tomcat.util.digester.SetPropertiesRule begin 警告: [SetPropertiesRule]{ ...

  6. 【Linux】实现端口转发的rinetd

    Linux下端口转发一般都使用iptables来实现,使用iptables可以很容易将TCP和UDP端口从防火墙转发到内部主机上.但是如果需要将流量从专用地址转发到不在您当前网络上的机器上,可尝试另一 ...

  7. linux centos6 NAT 端口转发

    有很多时候我们为了安全,需要将例如数据库服务器放到内网中.但是有些时候又系统给外网开一个端口,这时就可以利用外网的服务器进行一个端口转发.今天我们以centos6 为例进行端口转发配置. 首先vi / ...

  8. iptables 端口转发规则

    玩 vps 的经常要用到端口转发用以实现更快的速度.比如 ovh 机房的网络我这里访问非常慢,用远程桌面会吐血的类型.所以就会用其他的线路作为跳板,比如洛杉矶,香港之类的.再比如如果需要一个日本 ip ...

  9. Linux 通过rinetd端口转发来访问内网服务

    可以通过端口映射的方式,来通过具有公网的云服务器 ECS 访问用户名下其它未购买公网带宽的内网 ECS 上的服务.端口映射的方案有很多,比如 Linux 下的 SSH Tunnel.rinetd,Wi ...

随机推荐

  1. 基于tensorflow的增强学习

    可以通过下面的连接查看这个项目工程: https://github.com/reinforceio/tensorforce 通过这遍文章来了这个项目的使用: https://reinforce.io/ ...

  2. 如何看待 Kotlin 成为 Android 官方支持开发语言?

    Google IO 2017宣布了 Kotlin 会成为 Android 官方开发语言.一时间朋友圈和Android圈被各种刷屏.当然我也顺势而为发布了一篇的文章<为什么我要改用Kotlin&g ...

  3. Failed to resolve: com.android.support:appcompat-v7:27.+ 报错解决方法

    最近在学习Android方面的编程,这个过程中出现了许多的错误,其中最多的错误是出现在构建工具进行编译的时候.这里分析一个出现的错误,Failed to resolve: com.android.su ...

  4. vue样式穿透

    在一次这样的需求中,需要实现滑倒底部时自动请求数据,需要动态创建节点然后追加到某元素中,这期间遇到的问题就是在动态创建节点后,类名也已经加上了 ,但是样式就是没有生效,最后发现原因的产生竟然是< ...

  5. JAVA多线程------用1

    火车上车厢的卫生间,为了简单,这里只模拟一个卫生间,这个卫生间会被多个人同时使用,在实际使用时,当一个人进入卫生间时则会把卫生间锁上,等出来时 打开门,下一个人进去把门锁上,如果有一个人在卫生间内部则 ...

  6. 全面进军javascript!

    前两天经过新华书店,进去转了转,又买了两本书.这次买的是<javascript学习指南>和<HTML5经典实例>(都是图灵动物系列,我已经有三本了*^_^*),其实我是想去买& ...

  7. Java并发--并发容器之CopyOnWriteArrayList

    原文链接:http://ifeve.com/java-copy-on-write/ Copy-On-Write简称COW,是一种用于程序设计中的优化策略.其基本思路是,从一开始大家都在共享同一个内容, ...

  8. SpringMvc的上传和下载

    第一步:配置文件加入上传和下载的<bean>全部配置文件参考上上篇博文 <!-- 配置springMVC上传文件和下载文件 --> <bean id="mult ...

  9. elixir mix开发入门

    备注: 简单使用mix 进行项目的生成,同时添加docker 构建支持 1. 生成项目 mix new mydemoproject 输出信息如下: * creating README.md * cre ...

  10. Spring Cloud feign 服务超时处理

    Spring Cloud中,Feign和Ribbon在整合了Hystrix后,可能会出现首次调用失败的问题 造成该问题的原因 Hystrix默认的超时时间是1秒,如果超过这个时间尚未响应,将会进入fa ...