您的位置:首页 > 运维架构 > Linux

linux虚拟机上网端口映射的多种方法

2009-12-09 13:42 405 查看
host主机系统:centos 5.3,使用升级过的2.6.23内核,安装VirtualBox 3.0.8。host主机IP是10.60.56.90,访问外网的网络出口为eth0。虚拟机为vm1,ip地址192.168.56.101,网络接口为vboxnet0,使用hostonly方式。在第三台电脑10.60.56.220上进行测试连接。

两个任务:

一:使虚拟机的192.168.56.0/24网段能访问到外网,即可以与10.60.56.220通信。

二:外网能访问内网的服务器,即10.60.56.220可以telnet到192.168.56.101或者ssh。

任务一:直接使用iptables进行地址转换:

[root@jcwkyl ~]# iptables --table nat --append POSTROUTING --out-interface eth0 --jump MASQUERADE

[root@jcwkyl ~]# echo "1" > /proc/sys/net/ipv4/ip_forward

测试一下:

[root@vm1 root]# ping 10.60.56.220

PING 10.60.56.220 (10.60.56.220) 56(84) bytes of data.

64 bytes from 10.60.56.220: icmp_seq=0 ttl=63 time=1.37 ms

64 bytes from 10.60.56.220: icmp_seq=1 ttl=63 time=0.925 ms

任务二:

方法一:使用nc

[root@jcwkyl ~]# nc -l -k -4 1234 < /root/telnetfifo | nc 192.168.56.101 23 > /root/telnetfifo

-l表示监听,-k表示一个连接结束后继续监听,-4表示使用ipv4。缺点是一次只能处理一个连接。

方法二:使用socat

[root@jcwkyl ~]# socat TCP4-LISTEN:1234,reuseaddr,fork TCP4:192.168.56.101:22

方法三:使用iptables

[root@jcwkyl ~]# iptables --table nat --append PREROUTING --in-interface eth0 --proto tcp --dport 1234 --jump DNAT --to-destination 192.168.56.101:22

在其它电脑上ssh user@10.60.56.90 -p 1234,就可以ssh登录到user@192.168.56.101。

在10.60.56.220上测试:

[root@server .ssh]# ssh root@10.60.56.90 -p 1234

The authenticity of host '10.60.56.90 (10.60.56.90)' can't be established.

RSA key fingerprint is 4b:d4:2d:b9:2a:66:44:c8:f8:a7:f7:c6:5a:61:48:02.

Are you sure you want to continue connecting (yes/no)? yes

Warning: Permanently added '10.60.56.90' (RSA) to the list of known hosts.

root@10.60.56.90's password:

Last login: Tue Dec 8 14:17:53 2009 from 192.168.56.1

[root@vm1 root]#

看到登录后shell变成了root@vm1。

参考:
http://sectools.org/index.html
这个网页上列出了100个网络安全工具。
http://www.dest-unreach.org/socat/doc/socat.html#EXAMPLES
这是socat官方文档中给出的使用socat的例子。照着例子基本可以依葫芦画瓢。
http://linux.chinaunix.net/bbs/viewthread.php?tid=812400
这是chinaunix上的一篇帖子,其中讲到了iptables nat的配置。
http://man.chinaunix.net/network/iptables-tutorial-cn-1.1.19.html
iptables-1.1.19指南,译者sllscn。

另外可以在google图片搜索中以iptables为关键字搜索一下,可以看到iptables的工作图。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: