===============================================

2019/2/14_第1次修改                       ccb_warlock

===============================================

由于业务中个别TCP的服务需要做迁移,而该服务目前又是不是集群的方式对外提供服务,为了尽可能的缩短服务的中断,在部署完新服务后,原服务器的端口需要转发TCP的流量到新的服务器,经过一段时间后用户更新了配置,流量大体上直接向新服务器跑时,再将老服务器的端口撤掉。

在网上找了些资料,针对centos7的TCP端口转发找到2种途径:

1)firewalld

优:系统自带的防火墙,不需要配置其他软件就能实现TCP流量的转发;

缺:必须是firewalld运行的时候才能转发,但是有些服务的运行不适合开启firewalld,或者原先设计就是关闭服务器自身的防火墙而依靠外部的防火墙(比如云服务商的安全组);

2)rinetd

优:不管防火墙是否开启,都可以使用该服务实现端口转发(当然防火墙得开放这个端口);

缺:需要装服务,而且是一个最后更新时间是2003年的工具,面对十几年的系统网络发展会不会有风险需要大量试验后才能知道;


 一、firewalld
 # 允许防火墙伪装IP

firewall-cmd --add-masquerade

# 增加80、8080端口的映射到192.168.13.1的80、8080端口

firewall-cmd --add-forward-port=port=80:proto=tcp:toaddr=192.168.13.1:toport=80 --permanent
firewall-cmd --add-forward-port=port=8080:proto=tcp:toaddr=192.168.13.1:toport=8080 --permanent

 二、rinetd
 # 获取rinetd源码包到/opt目录下

cd /opt
wget http://www.boutell.com/rinetd/http/rinetd.tar.gz
tar -zxvf rinetd.tar.gz

# 进入rinetd目录

cd rinetd

# 设置转发端口的范围

sed -i 's/65536/65535/g' rinetd.c

# 创建目录

mkdir -p /usr/man

# 编译并安装

make && make install

# 编辑配置文件

vi /etc/rinetd.conf

# 表示将所有发往本机80、8080端口的请求转发到192.168.13.1的80、8080端口(0.0.0.0表示本机绑定所有可用地址)
 # 将下面的内容添加到rinetd.conf文件内,wq保存。

0.0.0.0 80 192.168.13.1 80
0.0.0.0 8080 192.168.13.1 80

# 启动rinetd

rinetd -c /etc/rinetd.conf

TCP端口转发(centos7)的更多相关文章

  1. 使用 ssh -R 建立反向/远程TCP端口转发代理

    转自:https://yq.aliyun.com/articles/8469 ssh是一个非常棒的工具, 不但能建立动态转发, 例如chrome的Switchy插件用到的就是这个技术.http://b ...

  2. windows操作系统自带的TCP端口转发

    假定需要通过192.168.1.8的14941端口连接192.168.1.118的1494端口,则需要在192.168.1.8主机的命令行输入如下语句netsh  interface ipv6 ins ...

  3. powerCat进行常规tcp端口转发

    实战中,我们也会遇到需要我们进行端口转发的情况,比如已经拿下的目标机1是在dmz区,而目标1所在内网的其他目标只能通过目标1去访问,这时候我们就需要端口转发或者代理来进行后渗透.这次就要介绍一个加强版 ...

  4. rinetd基于内网TCP端口转发

    在Linux系统中大多数情况选择用iptables来实现端口转发,iptables虽然强大,但配置不便,而且新手容易出错.在此分享另一个TCP/UDP端口转发工具rinetd,rinetd体积小巧,配 ...

  5. 免费内网映射外网绑定,tcp端口转发(windows)

    在tcp socket开发过程中,想要外网客户端映射到本地启动的tcp服务端,总结本地tcp端口映射外网方法: 1.打开ngrok后注册用户,网址 ngrok:https://www.ngrok.cc ...

  6. 全平台正向tcp端口转发工具rinetd的使用

    Linux下做地址NAT有很多种方法.比如haproxy.nginx的4层代理,linux自带的iptables等都能实现.其实,Linux下有一个叫rinetd的工具,安装简单,配置也不复杂. 下载 ...

  7. 基于常规DNS隧道进行的tcp端口转发dns2tcp的使用

    0x01 安装Dns2TCP dns2tcp 是一个利用DNS隧道转发TCP连接的工具,使用C语言开发. sudo apt-get install dns2tcp 0x02配置dns2tcp 配置DN ...

  8. cdn贝四层协议配置端口映射TCP端口转发

    端口映射就是将外网主机的IP地址的一个端口映射到内网中一台机器,提供相应的服务.当用户访问该IP的这个端口时,服务器自动将请求映射到对应局域网内部的机器上.端口映射有动态和静态之分 1.安装好节点后初 ...

  9. Linux socat轻松实现TCP/UDP端口转发

    1.TCP端口转发 socat -d TCP4-LISTEN:,reuseaddr,fork TCP4: 2.UDP端口转发 socat -T UDP4-LISTEN:,reuseaddr,fork ...

随机推荐

  1. Libre 6012 「网络流 24 题」分配问题 (网络流,费用流)

    Libre 6012 「网络流 24 题」分配问题 (网络流,费用流) Description 有n件工作要分配给n个人做.第i个人做第j件工作产生的效益为\(c_{ij}\).试设计一个将n件工作分 ...

  2. P1099 树网的核

    NOIP 2007 提高第四题. 啊......我还是看了题解才做出来的. 这题乍一看毫无头绪,但是我们spy on一下,暗中观察发现:n才300!随便打暴力水过去啊! 然后,这破题怎么暴力?感觉我的 ...

  3. 20145215《网络对抗》Exp6 信息搜集与漏洞扫描

    20145215<网络对抗>Exp6 信息搜集与漏洞扫描 基础问题回答 哪些组织负责DNS,IP的管理? 全球根服务器均由美国政府授权的ICANN统一管理,负责全球的域名根服务器.DNS和 ...

  4. IDEA下搜狗输入法输入中文时卡着不动的参考解决方法

    在IntelliJ IDEA工具的java编辑窗口,给代码增加注释时发现,输入中文时,搜狗输入法界面不动,一直卡着,如图:  我想输入“根据”两个字,但搜狗输入法界面一直卡着不刷新,导致都不知道自己输 ...

  5. go 数组与切片

    数组概念 1.数组:是同一种数据类型的固定长度的序列. 2.数组定义:var a [len]int,比如:var a[5]int,一旦定义,长度不能变 3.长度是数组类型的一部分,因此,var a[5 ...

  6. rabbitmq用户授权

    创建用户 rabbitmqctl add_user kye01 123456 设置用户角色 rabbitmqctl set_user_tags kye01 monitoring 查看用户清单 rabb ...

  7. 单例设计模式Singleton之懒加载模式(懒汉模式)【原】

    单例设计模式Singleton之懒加载模式(懒汉模式) SingletonLazy.java类 package kingtool; import kingtool.http.IPTool; publi ...

  8. 求幂运算、多项式乘法及Horner法则的应用

    一,两种不同的求幂运算 求解x^n(x 的 n 次方) ①使用递归,代码如下: private static long pow(int x, int n){ if(n == 0) return 1; ...

  9. CSS3美化有序列表

    如图效果: <ol class="rightList"> <li> <span>周波</span> <span>< ...

  10. php+mysql注入

    SQL简单命令介绍: mysql.exe -u 用户名  -p  密码  -h  ip地址 show databases;查看数据库 select version();php注入下的版本号 use d ...