QEMU的网络配置

1. 配置 qemu-ifup(主机):

$ cat /etc/qemu-ifup 
#! /bin/bash
ifconfig $1 172.20.0.1
#/sbin/brctl addbr br0
#/sbin/brctl addif br0 $1
#ifconfig br0 up

#!/bin/bash
brctl delif br0 $1
ifconfig $1 down

2. 配置 kernel:

│ Symbol: TUN [=m]                                                                                                                   │  
  │ Type  : tristate                                                                                                                   │  
  │ Prompt: Universal TUN/TAP device driver support                                                                                    │  
  │   Location:                                                                                                                        │  
  │     -> Device Drivers                                                                                                              │  
  │       -> Network device support (NETDEVICES [=y])                                                                                  │  
  │ (1)     -> Network core driver support (NET_CORE [=y])                                                                             │  
  │   Defined at drivers/net/Kconfig:263                                                                                               │  
  │   Depends on: NETDEVICES [=y] && NET_CORE [=y] && INET [=y]                                                                        │  
  │   Selects: CRC32 [=y] 

3. 修改rcS:, 添加如下的代码:

modprobe tun
modprobe nfsd

ifconfig eth0 172.20.0.100
route add default gw 172.20.0.1

2. 启动 qemu:

$ sudo qemu-system-arm -M vexpress-a9 -kernel ./linux-3.2/arch/arm/boot/zImage -initrd ../initramfs -serial stdio -append "console=ttyAMA0 root=/dev/ram rdinit=/sbin/init" -net nic,vlan=0 -net tap,vlan=0
3.配置 qemu的网络:

~ # ifconfig eth0 172.20.0.10 netmask 255.255.0.0
smsc911x smsc911x: eth0: SMSC911x/921x identified at 0x888a0000, IRQ: 47
~ # route add default gw 172.20.0.1
~ # ping -c 3 192.168.1.100
PING 192.168.1.100 (192.168.1.100): 56 data bytes
64 bytes from 192.168.1.100: seq=0 ttl=64 time=32.528 ms
64 bytes from 192.168.1.100: seq=1 ttl=64 time=24.857 ms
64 bytes from 192.168.1.100: seq=2 ttl=64 time=2.975 ms

--- 192.168.1.100 ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max = 2.975/20.120/32.528 ms
主机和虚拟机之间可以相互ping通了。

3.虚拟机访问外网:

网上资料说做如下的配置就可以实现:

sudo  sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
sudo iptables -t nat -A POSTROUTING -o eth0 -s 172.20.0.0/24 -j MASQUERADE
但是,我试了,并没有效果。 很奇怪。。



评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值