集群配置中IP端口转发

集群配置中IP端口转发

IP端口转发是集群配置中最为关键的一步,用户要根据自己的情况进行灵活处理。这里分为配置内容和配置过程两部分来讲解。

配置内容

这里将模拟从客户端访问私网中主机的Web服务和FTP服务,验证是否能访问不同的机器。IPVS的使用规则见表1。

/sbin/depmod -a/sbin/modprobe ip_masq_ftp/sbin/modprobe ip_masq_portfw.oecho "1" > /proc/sys/net/ipv4/ip_forward  #先打开IP Forwardingiptables -A forward -j MASQ -s 192.168.0.0/24 -d 0.0.0.0/0  #进行IP伪装#port forward the packet of interface 10.44.110.209 to 192.168.0.2 (真实服务器1)#TCP:port 80/usr/sbin/ipmasqadm portfw -a -P tcp -L 10.44.110.209 80 -R 192.168.0.2 80 -p 1#port forward the packet of interface 10.44.110.209 to 192.168.0.3 (真实服务器2)#FTP:port 21/usr/sbin/ipmasqadm portfw -a -P tcp -L 10.44.110.209 21 -R 192.168.0.3 21 -p 1/usr/sbin/ipmasqadm portfw -a -P tcp -L 10.44.110.209 80 -R 192.168.0.3 80 -p 2/usr/sbin/ipmasqadm -A -t 10.44.110.209:80 -s wlc #Weighted Least-Connection scheduling调度方式/usr/sbin/ipmasqadm -A -t 10.44.110.209:21 -s wrr #Weighted Round Robing scheduling调度方式

    表1显示了IPVS所要做的工作。虚拟服务器本身并没有安装服务器软件,无法提供相应的服务内容,但是它可以把所有访问10.44.110.209的、基于TCP协议的Web请求(80端口)转发给192.168.0.2和192.168.0.3两台真实服务器去处理。等执行完后,它再把结果返回给客户端。同理,它把来自21端口的FTP服务请求转发给192.168.0.3,由IP地址为192.168.0.3的真实服务器处理,并把结果返回。

配置过程

首先配置负载均衡服务器的IP地址、网关等,命令如下:
    #ifconfig eth0 10.44.110.209 netmask 255.255.255.0 broadcast 10.44.110.255

接着根据以下的规则创建/etc/rc.d/rc.firewall文件:

/sbin/depmod -a
/sbin/modprobe ip_masq_ftp
/sbin/modprobe ip_masq_portfw.o
echo "1" > /proc/sys/net/ipv4/ip_forward 
#先打开IP Forwarding
iptables -A forward -j MASQ -s 192.168.0.0/24 -d 0.0.0.0/0 
#进行IP伪装

#port forward the packet of interface 10.44.110.209
to 192.168.0.2 (真实服务器1)
#TCP:port 80
/usr/sbin/ipmasqadm portfw -a -P tcp
-L 10.44.110.209 80 -R 192.168.0.2 80 -p 1

#port forward the packet of interface
10.44.110.209 to 192.168.0.3 (真实服务器2)
#FTP:port 21
/usr/sbin/ipmasqadm portfw -a -P
tcp -L 10.44.110.209 21 -R 192.168.0.3 21 -p 1
/usr/sbin/ipmasqadm portfw -a -P
tcp -L 10.44.110.209 80 -R 192.168.0.3 80 -p 2

/usr/sbin/ipmasqadm -A -t 10.44.110.209:80
-s wlc #Weighted Least-Connection scheduling调度方式
/usr/sbin/ipmasqadm -A -t 10.44.110.209:21
-s wrr #Weighted Round Robing scheduling调度方式

编辑完该文件后,运行下面的命令增加文件的可执行权限:
    #chmod 700 /etc/rc.d/rc.firewall

再在/etc/rc.d/rc.local文件中加入下面的一行,这样每次重新启动机器后,都会激活IP伪装模块:
    /etc/rc.d/rc.firewall

到此为止,完成了虚拟服务器上的基本设置。接着来看在私网的真实服务器上怎么进行配置。

[1]

文章录入:csh    责任编辑:csh

(0)

相关推荐

  • linux下使用rinetd来实现端口转发

    windows下的端口转发一般用的是自带的nat和porttunnel.portmap linux下端口转发映射的程序叫rinetd,启动方法rinetd -c /etc/rinetd.conf  ,pkill rinetd  关闭进程 工具主页: http://www.boutell.com/rinetd/ 软件下载,解压安装 复制代码 代码如下: wget http://www.boutell.com/rinetd/http/rinetd.tar.gz tar zxvf rinetd.tar

  • Windows自带的端口转发工具netsh使用方法

    下面的代码在windows下运行后可以讲172.20.53.1的14941端口转发到172.20.53.2的3389端口上 复制代码 代码如下: netsh interface ipv6 install netsh interface portproxy add v4tov4 listenaddress=172.20.53.1 listenport=14941 connectaddress=172.20.53.2 connectport=3389 如果要取消上面的端口转发,使用下面的代码 复制代

  • node.js实现端口转发

    本文为大家分享的是node.js端口转发实现代码,供大家参考,具体内容如下 #!/sbin/node var net = require('net'); function proxyPort(srcport,destServer,destport) { var server = net.createServer(function(c) { //'connection' listener c.on('end', function() { console.log('src disconnected'

  • python实现超简单端口转发的方法

    本文实例讲述了python实现超简单端口转发的方法.分享给大家供大家参考.具体如下: 代码非常简单,实现了简单的端口数据转发功能,用于真实环境还需要再修改一下. 复制代码 代码如下: #tcp server import socket host = '127.0.0.1'          #Local Server IP host2 = '127.0.0.1'   #Real Server IP port = 6001 #Local Server Port port2 = 7001 #Real

  • C#端口转发用法详解

    本文实例讲述了C#端口转发用法.分享给大家供大家参考.具体分析如下: 这里以链接3389的时候为例 例子1:连接a机器的3389端口连不上,因为对方防火墙或者网关做了限制,只能访问a机器的个别端口比如80. 例子2:连接a机器的几乎所有端口都连不上(对方乃内网或者防火墙网关做了限制),只能1433上去,但是对方可以连接你的某些端口. 解决方法: 第一种较简单,只需要程序在对方开80,你连接他80,程序收到数据后,发送到他本机的3389,同时从他3389收到数据后返回到你.程序就是一个中转站. u

  • python实现端口转发器的方法

    本文实例讲述了python实现端口转发器的方法.分享给大家供大家参考.具体如下: 下面的python代码实现端口转发器,支持udp端口转发 由于工作需要用到一个端口转发器,并且要求支持TCP和UDP协议.在网上找了蛮久,但没有中意的.于是就自己写了一个.这个转发器是基于python cookbook的一个示例改写的,原先的这个示例只支持TCP协议,我这里增加了UDP协议的支持,程序写的不怎么好,不过它确实能用! portmap.py代码如下: 复制代码 代码如下: #-* -coding: UT

  • Nginx服务器中配置非80端口的端口转发方法详解

    nginx可以很方便的配置成反向代理服务器: server { listen 80; server_name localhost; location / { proxy_pass http://x.x.x.x:9500; proxy_set_header Host $host:80; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy

  • 集群配置中IP端口转发

    集群配置中IP端口转发 IP端口转发是集群配置中最为关键的一步,用户要根据自己的情况进行灵活处理.这里分为配置内容和配置过程两部分来讲解. 配置内容 这里将模拟从客户端访问私网中主机的Web服务和FTP服务,验证是否能访问不同的机器.IPVS的使用规则见表1. /sbin/depmod -a/sbin/modprobe ip_masq_ftp/sbin/modprobe ip_masq_portfw.oecho "1" > /proc/sys/net/ipv4/ip_forwar

  • MySQL的集群配置的基本命令使用及一次操作过程实录

    1. 先了解一下你是否应该用MySQL集群. 减少数据中心结点压力和大数据量处理,采用把MySQL分布,一个或多个application对应一个MySQL数据库.把几个MySQL数据库公用的数据做出共享数据,例如购物车,用户对象等等,存在数据结点里面.其他不共享的数据还维持在各自分布的MySQL数据库本身中. 2. 集群MySQL中名称概念.(如上图) 1)Sql结点(SQL node--上图对应为MySQLd):分布式数据库.包括自身数据和查询中心结点数据. 2)数据结点(Data node

  • 集群环境中使用ehcache_动力节点Java学院整理

    EhCache 是一个纯 Java 的进程内缓存框架,具有快速.精干等特点,是 Hibernate 中默认的 CacheProvider. 下图是 EhCache 在应用程序中的位置: EhCache 的主要特性有: 1.快速: 2.简单: 3.多种缓存策略: 4.缓存数据有两级:内存和磁盘,因此无需担心容量问题: 5.缓存数据会在虚拟机重启的过程中写入磁盘: 6.可以通过 RMI.可插入 API 等方式进行分布式缓存: 7.具有缓存和缓存管理器的侦听接口: 8.支持多缓存管理器实例,以及一个实

  • Java应用服务器之tomcat会话复制集群配置的示例详解

    会话是识别用户,跟踪用户访问行为的一个手段,通过cookie(存在客户端)或session(存在服务端)来判断本次请求是那个客户端发送过来:常用的会话保持有绑定会话,就是前边我们聊的在代理上通过算法或通过给客户端响应首部加cookie这种方式来保持同一cookie或同一ip地址的请求始终发送到同一后端server进行响应:但是这样的会话绑定的方式存在一个问题,就是当后端某一server宕机,那么之前上面的所有会话信息将消失,那么后续的客户端来请求,代理是否要把请求调度到后端宕机的server呢?

  • MySQL5.7 集群配置的步骤

    本次针对的MySQL版本为5.7,首先分别在A服务器和B服务器上安装MySQL,可以通过yum安装也可以通过wget下载直接编译安装.安装方式可以多种多样,但必须要确保安装成功. 1.修改A服务器的my.cnf文件 vim /etc/my.cnf 并添加如下内容: server-id=1 auto_increment_offset=1 auto_increment_increment=2 gtid_mode=on enforce_gtid_consistency=on log-bin=mysql

  • sentinel支持的redis高可用集群配置详解

    目录 一.首先配置redis的主从同步集群 二.sentinel高可用 一.首先配置redis的主从同步集群 1.主库的配置文件不用修改,从库的配置文件只需增加一行,说明主库的IP端口.如果需要验证的,也要加多一行,认证密码. slaveof 192.168.20.26 5268 masterauth hodge01 一主多从的话,就启用多个从库.其中,从库都是一样的方案.本次有两个slave. 2.命令检查 /usr/local/redis/bin/redis-cli -p 5257 -a h

  • Perl集群配置管理系统Rex简明手册

    Rex 是 Perl 编写的基于 SSH 链接的集群配置管理系统,语法上类似 Puppet DSL.官网中文版见 http://rex.perl-china.com .本文仅为本人在部门 Wiki 上编写的简介性文档. 常用命令参数 rex 命令参数很多,不过因为我们的环境是 krb 认证的,所以有些参数只能写在 Rexfile 里.所以一般固定在存放了 Rexfile 的 /etc/puppet/webui 下执行命令,很多配置就自动加载了.那么还需要用到的命令参数基本就只有下面几个:-Tv:

  • Redhat 6.5下MySQL5.6集群配置方法完整版

    1.准备三台服务器 2.为三台机器分别安装Linux操作系统(Oracle Linux / RHEL 6.5 x86_64bit) 3.分别IP地址 管理节点      192.168.1.110        (负责管理整个集群) SQL节点      192.168.1.111        (负责操作数据库) SQL节点      192.168.1.112        (负责操作数据库) 数据节点      192.168.1.111        (负责存储数据) 数据节点     

  • 在Hadoop集群环境中为MySQL安装配置Sqoop的教程

    Sqoop是一个用来将Hadoop和关系型数据库中的数据相互转移的工具,可以将一个关系型数据库(例如 : MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中. Sqoop中一大亮点就是可以通过hadoop的mapreduce把数据从关系型数据库中导入数据到HDFS. 一.安装sqoop 1.下载sqoop压缩包,并解压 压缩包分别是:sqoop-1.2.0-CDH3B4.tar.gz,hadoop-0.20.2-C

  • Squid集群做CDN全网加速配置分享

    主服务器群,然后在利用Squid逆向缓存web80端口来加速自己的网站.各大门户网站象163,sina,chinaitlab之类基本都是使用的这种技术,好处是大大的有.比如加速了网络和可以防黑客(因为他们见到的都是CDN的主机)这是利用Squid逆向集群模式做的一种应用 网络环境: 主服务器群:源Web服务器群 位于公网ip:220.XXX.XXX.X port:80(后台才是WEB的服务器) 注: 要保证TCP80,UDP3130在防火墙上是开的(供icp_port通讯使用,多台Squid集群

随机推荐