这种方法也可以用作内部局域网络和外部网络连接的方法,可以是外部网络机器访问内部网络也可以时内网机器访问外网。具体使用根据实际情况变通。
基本思路
1.新建虚拟网卡
2.在虚拟机启动中设置虚拟网卡
虚拟网卡ip地址可任意设定。
进入虚拟机后设置ip参数与虚拟网卡在相同网段就可以实现与主机之间的互通。
但是此时还不能进行对internet的访问。
3.使用iptables完成NAT功能
这时虚拟机已经可以连入Internet了 但是如果想从外网访问虚拟机还需要设置端口映射,之前有文章提到过。
下面是具体例子
#echo 1 > /proc/sys/net/ipv4/ip_forward
打开转发功能
#tunctl -t tap0
新建虚拟网卡
#ip link set tap0 up
启动tap0
#ifconfig tap0 xxx.xxx.xxx.xxx
设置tap0网卡从参数
#iptables -t nat -A POSTROUTING -j MASQUERADE
设置iptables
启动qemu-kvm 启动参数加入:
-net nic -net tap , ifname-tap0, script=no,downscript=no
进入虚拟机后设置ip 与虚拟网卡在同一网段
这样就可以上网了。
#tunctl -d tap0
删除虚拟网卡
转载于:https://my.oschina.net/u/138210/blog/186963