文档章节

iptables 实现简单的四层反向代理服务器

傅易
 傅易
发布于 2016/11/10 10:35
字数 259
阅读 155
收藏 2

四层代理,即工作在 OSI 模型的第四层,通过分析 IP 和端口来分发到上游服务器。

首先查看 iptables 实现简单的网关服务器,遵循同样的方法打开 IP 转发功能。

假设本机外网地址 100.100.100.100,外网段 0.0.0.0/32,内网地址 192.168.1.1,内网段 192.168.1.0/24。

使外网访问 100.100.100.100:80 时,代理到内网主机 192.168.1.100:8080:

$ iptables -t nat -A PREROUTING -4 -p tcp -d 100.100.100.100 --dport 80 -j DNAT --to-destination 192.168.1.100:8080
.181
$ iptables -t nat -A POSTROUTING -4 -p tcp -d 192.168.1.100 --dport 8080 -j MASQUERADE
$ iptables -t filter -A FORWARD -s 192.168.1.100 -j ACCEPT
$ iptables -t filter -A FORWARD -d 192.168.1.100 -j ACCEPT

对数据包改变路由目标(使其转发)并伪装成本机发送,所以如果想获取源 IP 则需要额外处理。

© 著作权归作者所有

共有 人打赏支持
傅易
粉丝 25
博文 100
码字总数 59789
作品 0
海淀
后端工程师
Linux 实现 NAT

前言 NAT:网络地址转换(Network Address Translation),也叫做网络掩蔽或者IP掩蔽(IP masquerading),是一种在IP封包通过路由器或防火墙时重写來源IP地址或目的IP地址的技术。 简单来说...

诸葛孔明亮
2016/11/08
15
0
系统原理分析架构-六-负载均衡(定义及介绍及LVS/Nginx/Haproxy比较)

DNS负载均衡:这也是最早的负载均衡技术。在DNS负载均衡服务器中可以为不同的地址用同一个名字、对于一个名字不同的客户访问不同的WEB服务器得到其中一个地址、从而达到负载均衡的目的。DNS...

tantexian
2016/02/29
39
0
基于Haproxy+Keepalived负载均衡实现的高可用架构

本博主的上一篇已经介绍过keepalived的相关知识,基于LVS-DR模型也已实现keepalived的主从架构,本篇博客就接着来了解一个可实现服务的负载均衡的服务——Haproxy,该服务与Keepalived相结合...

MRUJ
2017/11/10
0
0
squid 代理和缓存

于2017.04.21 从新浪博客搬迁过来 ---------------------------------------------------------------- 在现在的企业中squid 作为代理服务器和缓存服务器使用,在小型的环境中squid可以作为代...

Aloneforyou
2017/04/21
0
0
haproxy 基础详解 及 动静分离的实现

haproxy 介绍 1 工作在ISO 七层 根据http协议(或者工作在ISO四层 根据tcp协议) 提供web服务的负载均衡调度器 负载均衡调度器分类工作在四层: lvs 工作在七层: nginx (web,http revers...

jungege1216
2014/05/07
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

八大包装类型的equals方法

先看其中一个源码 结论:八大包装类型的equals方法都是先判断类型是否相同,不相同则是false,相同则判断值是否相等 注意:包装类型不能直接用==来等值比较,否则编译报错,但是数值的基本类型...

xuklc
32分钟前
1
0
NoSQL , Memcached介绍

什么是NoSQL 非关系型数据库就是NoSQL,关系型数据库代表MySQL 对于关系型数据库来说,是需要把数据存储到库、表、行、字段里,查询的时候根据条件一行一行地去匹配,当量非常大的时候就很耗...

TaoXu
昨天
0
0
890. Find and Replace Pattern - LeetCode

Question 890. Find and Replace Pattern Solution 题目大意:从字符串数组中找到类型匹配的如xyy,xxx 思路: 举例:words = ["abc","deq","mee","aqq","dkd","ccc"], pattern = "abb"abc ......

yysue
昨天
0
0
Linux | Redis

写在前面的话 常言道,不作笔记不读书。在下是深有体会啊,所以,跟我一起做下本节的笔记吧,或许多年以后,你一定会感谢今天的你。 安装 在官网的下载页 Redis Download 直接写了在Linux的安...

冯文议
昨天
1
0
NoSQL-memcached

NoSQL介绍 NoSQL叫非关系型数据库。而关系型数据库代表有MySQL。对于关系型数据库来说,是需要把数据存储到库、表、行、字段里,查询的时候根据条件一行一行地去匹配,当量非常大的时候就很...

ln97
昨天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部