使用的技术是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
到这里两个方向的地址转换都建立了。
阅读(2141) | 评论(0) | 转发(0) |