Chinaunix首页 | 论坛 | 博客
  • 博客访问: 209565
  • 博文数量: 43
  • 博客积分: 2501
  • 博客等级: 少校
  • 技术积分: 485
  • 用 户 组: 普通用户
  • 注册时间: 2007-11-07 21:45
文章分类

全部博文(43)

文章存档

2011年(3)

2010年(1)

2009年(21)

2008年(18)

我的朋友

分类: LINUX

2009-04-05 01:12:24

在Linux下面可以利用两个工具实现不同的转发,一个是防火墙工具iptables,另一个是ssh隧道。

假设现在有一个服务器集群,其中front是集群前端节点,back是后端极点,front可以再外网访问,back和front在一个内网里面,不能被外界直接访问。back在8080端口上启用了web服务,现在要实现外部计算机public能访问back上的web服务。

利用iptables,在front上做如下配置即可
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A PREROUTING -p tcp -d --dport 80 \
                -J DNAT --to-destination :8080
iptables -t nat -A POSTROUTING -p tcp -s --sport 8080 \
                -J SNAT --to-source


利用ssh打开一个ssh隧道
ssh -L *:80::8080 localhost


比较:
用iptables和其他防火墙规则配合,不会受到防火墙及其他软件影响,但是如果只是作为临时的转发,还是比较麻烦。相对来说ssh隧道就比较简单,普通用户就可以运行但是它有可能受到防火墙的限制,而且要ssh服务器支持端口转发。所以,前者适合于稳定长期使用的端口转发,儿后者适合于建立临时的转发功能。
阅读(19062) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~