我的fedora10的virtual box网络设置

若将virtual box的网络连接方式设为NAT,则虚拟机可以直接与外网相连,但不能与宿主机相连。以下将virtual box的网络连接方式设为host interface方式。实现了虚拟机可以与宿主机相连,同时也可以连接互联网。

一、主机上已有网卡ip为192.168.1.3。在主机上做以下步骤新建一张虚拟网卡以供与虚拟机网络数据交换使用。
(1)、安装提供tunctl与brctl工具的软件包
yum install tunctl-1.5-1.fc10 bridge-utils -y
(2)、设置允许转发
echo 1 > /proc/sys/net/ipv4/ip_forward
(3)、利用iptables完成ip数据包转发功能
iptables -t nat -A POSTROUTING -j MASQUERADE
(4)、设定允许Virtual Box访问/dev/net/tun文件
chmod 0666 /dev/net/tun
(5)、tap设备tap0当作虚拟网卡,其所有者设为mygod用户,这里要注意一定要将所有者设成自己的帐户,否则运行虚拟机会出错
tunctl -t tap0 -u mygod
(6)、激活虚拟网卡
ifconfig tap0 up
(7)、设定虚拟网卡的ip与掩码
ifconfig tap0 10.0.2.3 netmask 255.255.255.0

二、打开Virtual Box,在虚拟机的网络设置中,将连接方式设为host interface,并且将Host Interface Settings中的Interface Name填为tap0。

三、进入虚拟机CentOS-5.2后,运行以下命令。
(1)、运行system-config-network,对eth0网卡作以下设置:
ip:10.0.2.4
netmask:255.255.255.0
gate way:10.0.2.3
(2)、重新激活eth0网卡
ifdown eth0
ifup eth0

四、解决问题:
以上步骤做完之后,在虚拟机上能够正确ping到宿主机192.168.1.3,但却无法连接外网,并且ping网关192.168.1.1收到From 10.0.2.3 icmp_seq=1 Destination Host Prohibited的提示。
使用iptables -t filter --list命令后发现filter表中的FORWARD链里有一条
“REJECT     all  --  anywhere             anywhere            reject-with icmp-host-prohibited”。
想想应该就是这一条规则作怪,于是执行以下命令:iptables -t filter -F FORWARD。
OK,现在可以ping通网关了,但ping www.163.com还是得到unknown host www.163.com的提示。看来是虚拟机的DNS设置的问题。于是打开/etc/resolv.conf文件,填加“nameserver 192.168.3.1”。搞定!

五、宿主机重启后只要以root帐户再次运行以下脚本即可:
#!/bin/bash
tunctl -d tap0
tunctl -t tap0 -u mygod
ifconfig tap0 up
ifconfig tap0 10.0.2.3 netmask 255.255.255.0
iptables -t filter -F FORWARD
iptables -t nat -A POSTROUTING -j SNAT -s 10.0.2.0/24 --to-source 192.168.3.3
echo 1 > /proc/sys/net/ipv4/ip_forward

转载于:https://www.cnblogs.com/beta2013/archive/2008/11/27/3377381.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值