Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1237770
  • 博文数量: 389
  • 博客积分: 2874
  • 博客等级: 少校
  • 技术积分: 3577
  • 用 户 组: 普通用户
  • 注册时间: 2009-10-24 10:34
文章分类

全部博文(389)

文章存档

2020年(2)

2018年(39)

2017年(27)

2016年(3)

2015年(55)

2014年(92)

2013年(54)

2012年(53)

2011年(64)

分类: LINUX

2012-03-09 14:16:00

使用的技术是iptablse的nat功能。
 
环境:三台设备 a 、b 、c
a : eth0  10.88.101.125
b : eth0  10.88.101.123
    eth1  192.168.106.2
c : eth0  192.168.106.5
a 和 b的 eth0 在一个网络。c和 b 的 eth1 在一个网络
b 实现了转发功能
echo "1" > /proc/sys/net/ipv4/ip_forword
 
问题:a 和 c之间通过b进行通信。实现的方式必需是 a 连接b 但是a实际连接的是c
比如:假设c上架设了telnet服务器,b上面没有telnet服务器
a: telnet 10.88.101.123
这时候输入c的用户名和密码就能操作,但是实际操作的却是c。
在a上netstat 会看到 a和10.88.101.123建立了连接,
在c上netstat 会看到 c和192.168.106.2建立了连接,
在b上netstat 时却什么连接也没有建立。
 
方法:
在b上执行以下iptablse命令
iptablse -t nat -A PREROUTING -d 10.88.101.123 -j DNAT --to 192.168.106.5
iptablse -t nat -A POSTROUTING -d -d 192.168.106.5 -j SNAT --to 192.168.106.2
 
iptablse -t nat -A PREROUTING -d 192.168.106.2 -j DNAT --to 10.88.101.125
iptablse -t nat -A POSTROUTING -d 10.88.101.125 -j SNAT --to 10.88.101.123
 
到这里两个方向的地址转换都建立了。
阅读(2066) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~