运维-linux的iptables实现tcp转发

问题描述

linux的iptables实现tcp转发

琢磨了半天,没有进展,向大神来请教。

现在的问题是这样的。

有3台服务器,

A:172.26.1.1

B:172.26.5.2

C:10.9.56.3

B能访问到C的6379端口

A由于权限问题不能访问到C的6379端口,但是A能ping通C。

A能访问B。

然后我想的是,A请求B然后B把请求给C ,C把响应给B ,B在给A。

这个怎么实现呢, 我在网上看了

http://m.blog.csdn.net/blog/rao_warrior/8947444

http://www.firefoxbug.com/index.php/archives/2660/

但是没有成功。

解决方案

linux iptables实现
Linux 下iptables实现NAT转发上网

解决方案二:

sysctl -A | grep 'net.ipv4.ip_forward'

net.ipv4.ip_forward = 0

如果为0,需要改成1

vim /etc/sysctl.conf

net.ipv4.ip_forward = 1

要使其失效做如下操作

sysctl -p

2.设置端口转发

#!/bin/bash
pro='tcp'
NAT_Host='Host_A'
NAT_Port=8080
Dst_Host='Host_B'
Dst_Port=80
iptables -t nat -A PREROUTING -m $pro -p $pro --dport $NAT_Port -j DNAT --to-destination $Dst_Host:$Dst_Port
iptables -t nat -A POSTROUTING -m $pro -p $pro --dport $Dst_Port -d $Dst_Host -j SNAT --to-source $NAT_Host

查看规则
iptables -L -t nat

保存规则
iptables save
chkconfig iptables on
sudo chkconfig --list iptables
iptables 0:off 1:off 2:on 3:on 4:on 5:on 6:off

3.数据包流经过程

A -> B -> C -> B -> A
比如从A发出的数据包如下
Destion Source
DstB:PortB SrcA:PortA
B在PREROUTING链修改后数据包如下
Destion Source
DstC:PortC SrcA:PortA
B在POSTROUTING链修改后数据包如下
Destion Source
DstC:PortC SrcB:PortA
C处理数据包之后返回如下
Destion Source
DstB:PortA SrcC:PortC
B的数据包处理
Destion Source
DstA:PortA SrcB:PortB

时间: 2025-01-18 23:18:35

运维-linux的iptables实现tcp转发的相关文章

高效运维最佳实践七字诀,不再憋屈的运维!

做运维的那么多,快乐的能有几个? 我们那么努力,为什么总感觉过得那么憋屈.苦闷?做的事情那么多,为什么业务部门.直接领导和公司貌似都那么不领情?怎么做才能自己更加开心些? 本专栏的主线实际是一个运维人员的十年成长史,从菜鸟到运维总监.但不是基础技术教学,也不会在运维技术的某一方面过深涉及.更多的是应用技巧.实践经验及案例剖析.专栏中的系列文章,包含作者在运维各个细分领域的技术和个人成才的心得体会.因此也可以成为广大运维朋友的工具书,伴随大家从初级运维成长为高级技术型运维管理人才. 技术专栏就非得

高效运维最佳实践七字诀

做运维的那么多,快乐的能有几个? 我们那么努力,为什么总感觉过得那么憋屈.苦闷?做的事情那么多,为什么业务部门.直接领导和公司貌似都那么不领情?怎么做才能自己更加开心些? 前段时间有位IT大佬在网络上发声,我这么有钱,为什么不幸福?诚然,有钱是幸福的最重要条件之一,但有钱就一定幸福么?真的是充分必要条件?当然更悲催的是运维行当,技术好是被认可(幸福)的最重要条件,但技术再好,外部门不说咱们"坏话",已经是很不错的了.   1. 什么是高效运维 我们收集了一些来自外部门对运维的印(tou

Linux集群和自动化运维

Linux/Unix技术丛书 Linux集群和自动化运维 余洪春 著 图书在版编目(CIP)数据 Linux集群和自动化运维/余洪春著. -北京:机械工业出版社,2016.8 (Linux/Unix技术丛书) ISBN 978-7-111-54438-8 I. L- II.余- III. Linux操作系统 IV. TP316.89 中国版本图书馆CIP数据核字(2016)第176055号 Linux集群和自动化运维 出版发行:机械工业出版社(北京市西城区百万庄大街22号 邮政编码:100037

Linux主流架构运维工作简单剖析

随着IT运维的不断发展,尤其的Linux的飞速发展,越来越多的企业开始使用Linux操作系统平台,例如CentOS.RedHat.Ubuntu.Fedora等等,成千上亿个网站涌现在当今互联网,互联网已经成为必不可少的工具,那今天我们跟大家一起来分享讨论目前用的最多的Linux下主流网站架构: LVS+KEEPALIVED(heartbeat)+Squid+Nginx/Apache+JAVA/PHP +MySQL/MariaDB等,分享一个简单的拓扑图,供各位同学实验参考 一般网站总体分为四层,

Linux主流架构运维工作简单剖

随着IT运维的不断发展,尤其的Linux的飞速发展,越来越多的企业开始使用Linux操作系统平台,例如CentOS.RedHat.Ubuntu.Fedora等等,成千上亿个网站涌现在当今互联网,互联网已经成为必不可少的工具,那今天我们跟大家一起来分享讨论目前用的最多的Linux下主流网站架构: LVS+KEEPALIVED(heartbeat)+Squid+Nginx/Apache+JAVA/PHP +MySQL/MariaDB等,分享一个简单的拓扑图,供各位同学实验参考 一般网站总体分为四层,

Linux运维工程师必须掌握的基础技能有哪些?

这个问题挺好的,回答这个问题也是对自身的审查,看看自己还欠缺哪些.(所以我估计得好好思考下,也许下一刻我就会突然惊醒,发现我还是战⑤渣) 首先限定在Linux运维工程师上 回答仅代表我想到,不代表我都会 :( 技能: 1.Linux基础 包括对Linux整体的理解/使用和基本命令: 了解Linux FHS : Filesystem Hierarchy Standard,国人写的这本书不错 Linux系统架构与目录解析 (豆瓣) 入门Linux:鸟哥的Linux私房菜.基础学习篇(第三版) (豆瓣

跟老男孩学Linux运维:Shell编程实战.

Linux/Unix技术丛书 跟老男孩学Linux运维: Shell编程实战 老男孩 著 图书在版编目(CIP)数据 跟老男孩学Linux运维:Shell编程实战 / 老男孩著. -北京:机械工业出版社,2017.1 (Linux/Unix技术丛书) ISBN 978-7-111-55607-7 I. 跟- II. 老- III. Linux操作系统 IV. TP316.85 中国版本图书馆CIP数据核字(2016)第313248号 跟老男孩学Linux运维:Shell编程实战 出版发行:机械工

Linux运维工程师的十个基本技能点

本人是Linux运维工程师,对这方面有点心得,现在我说说要掌握哪方面的工具吧! 说到工具,在行外可以说是技能,在行内我们一般称为工具,就是运维必须要掌握的工具. 我就大概列出这几方面,这样入门就基本没问题了. Linux系统如果是学习可以选用redhat或者centos,特别是centos在企业中用得最多,当然还会有其它版本的,但学习者还是以这2个版本学习就行,因为这两个版本都是兄弟,没区别的,有空可以再研究一下SUSE,有些公司也喜欢用,例如我公司 ...... 工具如下: 1.Linux系统

运维自动化之使用Cobbler自动化部署Linux操作系统

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://dgd2010.blog.51cto.com/1539422/1672569 1.Cobbler是什么? Cobbler是一个Linux安装服务器,能够快速设置好网络安装环境.它实现了许多与Linux相关的任务的自动化和组合,因此你在部署新的(操作)系统或更改已经存在的操作系统时不需要在繁多的命令和应用程序之间来回切换.Cobbler能帮助(用户.管理者)置备和管理DNS.DHC