网云科技
标题:
openwrt 在HYPER-V中連不了网
[打印本页]
作者:
m3orzhc
时间:
2016-3-29 18:00
标题:
openwrt 在HYPER-V中連不了网
Model i686
Firmware Version OpenWrt Barrier Breaker 14.07 / LuCI Trunk (0.12+svn-r10530)
Kernel Version 3.10.49
HYPER-V設定
external network 是 eth0, 接獨立網卡
internal network 是 eth1, 不接實體網卡, 接HYPER-V虛擬網卡, 純內網
hyper-v
在OPENWRT中的設備如圖
devices
/etc/config/network
network
/etc/config/firewall
firewall
電腦能經192.168.1.2連上OPENWRT的WEB介面, 但連不了網, 在WEB介面卻能用TRACEROUTE, PING等
traceroute
請問做錯了什麼? 謝謝
作者:
w2krs5
时间:
2016-3-29 18:00
什麼都不用, 只要路由就夠了
我还搞了個HYPER-V中的黑群輝, 活都在那边干的
太感謝你了
作者:
1326l8
时间:
2016-3-29 18:00
需要luci, dropbear好像也不用了, 我都是直接用HYPER-V来进入字符界面的
upnp也要, 好像群晖和skype要用
还要DHCP服务器, DNS服务器好像也有用
QoS如果能后加的话就后加算了, 现在用不上, 家用都是全速的
还有其他家用需要的吗?
我现在用的是从openwrt-15.05-rc3-x86-generic-combined-ext4.img改为.vhd的, 本身自带luci, 我只加了kmod-tun 和 kmod-tulip, 其余都没改过了. 不过installed package中却有长*长的一串, 都不知那些有用. 我实在有太多不懂了
作者:
t3likj7q
时间:
2016-3-29 18:00
搞定就好。
另外,看到截图中用的是legacy模式的虚拟网卡,这个虽然能用,但是性能不好。
最好换成normal的虚拟NIC。
作者:
fgf49h9
时间:
2016-3-29 18:00
可以放到网盘上,需要编译包括哪些模块?
作者:
yyhtl8
时间:
2016-3-29 18:00
謝謝你, 可是我不会编译啊, 看來要研究的多着了
請問你介意直接把VHD檔放到百度网盤上嗎? 再次感謝
作者:
i67mdne
时间:
2016-3-29 18:00
謝謝你了, 好人一生平安!
作者:
bqn6tg6
时间:
2016-3-29 18:00
你是对的. 把所有東西重啓, 所有"网線"重插, 所有网卡DISABLE再ENABLE, 清掉DHCP.LEASES后就可以連网了
作者:
5v2frov
时间:
2016-3-29 18:00
tedaz 于 2015-9-10 17:52 编辑
需要luci,dropbear之类的基本模块吗,前者用于http图形界面访问路由器,后者用于ssh字符界面访问路由器。
如果连这个都不要的话,配置什么的不方便吧。
还有QoS,upnp之类,也是路由的功能,很难由群晖替代吧。
作者:
4dfj1rv
时间:
2016-3-29 18:00
謝謝提醒
我按这篇文章做的 http://wangxingcs.com/2013/0313/1019/
驅動只裝了 kmod-tun 和 kmod-tulip
如果不用legacy網卡, OP認不出來啊
請問如果要用normal的虛擬NIC, 要裝什麼套件?
謝謝!
作者:
3nf4qq
时间:
2016-3-29 18:00
你的“电脑”需要在192.168.1.2/24的网段中。
也就是说,按照你现在的网络结构,应该是双层路由了:
第一层路由是你的宽带猫之类的设备,假设此路由的LAN为10.0.0.1/24;
第二层路由是Hyper-V中的openwrt,假设其WAN为10.0.0.99;LAN为192.168.1.2。
则你的“电脑”应该连接192.168.1.2/24的子网。
把你的电脑ifconfig贴出来看看,应该是电脑的问题,而不是Hyper-V或openwrt的问题。
作者:
pcrwz84
时间:
2016-3-29 18:00
编译好了,下载地址在这里/thread-1364810-1-1.html
作者:
ilsn1l
时间:
2016-3-29 18:00
我是自己编译的源代码,仅需要开启几个编译选项,然后选中虚拟化中的四个Hyper-V相关模块即可。网卡中取消选中所有驱动。
版本是Chaos Calmer RC3。
几个修改的源代码如下:
diff --git a/config/Config-images.in b/config/Config-images.in
index a60dd50..f83317f 100644
--- a/config/Config-images.in
+++ b/config/Config-images.in
@@ -231,6 +231,16 @@ menu "Target Images"
select TARGET_IMAGES_PAD
select PACKAGE_kmod-e1000
+ config VHD_IMAGES
+ bool "Build Hyper-V image files (VHD)"
+ depends on TARGET_x86 || TARGET_x86_64
+ select GRUB_IMAGES
+ select TARGET_IMAGES_PAD
+ select PACKAGE_kmod-hyperv-balloon
+ select PACKAGE_kmod-hyperv-net-vsc
+ select PACKAGE_kmod-hyperv-util
+ select PACKAGE_kmod-hyperv-storage
+
config VMDK_IMAGES
bool "Build VMware image files (VMDK)"
depends on TARGET_x86 || TARGET_x86_64
复制代码diff --git a/package/kernel/linux/modules/virtual.mk b/package/kernel/linux/modules/virtual.mk
index 4464fe9..d4b55ae 100644
--- a/package/kernel/linux/modules/virtual.mk
+++ b/package/kernel/linux/modules/virtual.mk
@@ -186,3 +186,85 @@ define KernelPackage/xen-pcidev/description
endef
$(eval $(call KernelPackage,xen-pcidev))
+
+#
+# Hyper-V Drives depends on x86 or x86_64.
+#
+define KernelPackage/hyperv-balloon
+ SUBMENU:=$(VIRTUAL_MENU)
+ DEPENDS:=@(TARGET_x86||TARGET_x86_64)
+ TITLE:=Microsoft Hyper-V Balloon Driver
+ KCONFIG:= \
+ CONFIG_HYPERV_BALLOON \
+ CONFIG_HYPERVISOR_GUEST=y \
+ CONFIG_PARAVIRT=n \
+ CONFIG_HYPERV=y
+ FILES:=$(LINUX_DIR)/drivers/hv/hv_balloon.ko
+ AUTOLOAD:=$(call AutoLoad,06,hv_balloon)
+endef
+
+define KernelPackage/hyperv-balloon/description
+ Microsofot Hyper-V balloon driver.
+endef
+
+$(eval $(call KernelPackage,hyperv-balloon))
+
+define KernelPackage/hyperv-net-vsc
+ SUBMENU:=$(VIRTUAL_MENU)
+ DEPENDS:=@(TARGET_x86||TARGET_x86_64)
+ TITLE:=Microsoft Hyper-V Network Driver
+ KCONFIG:= \
+ CONFIG_HYPERV_NET \
+ CONFIG_HYPERVISOR_GUEST=y \
+ CONFIG_PARAVIRT=n \
+ CONFIG_HYPERV=y
+ FILES:=$(LINUX_DIR)/drivers/net/hyperv/hv_netvsc.ko
+ AUTOLOAD:=$(call AutoLoad,35,hv_netvsc)
+endef
+
+define KernelPackage/hyperv-net-vsc/description
+ Microsoft Hyper-V Network Driver
+endef
+
+$(eval $(call KernelPackage,hyperv-net-vsc))
+
+define KernelPackage/hyperv-util
+ SUBMENU:=$(VIRTUAL_MENU)
+ DEPENDS:=@(TARGET_x86||TARGET_x86_64)
+ TITLE:=Microsoft Hyper-V Utility Driver
+ KCONFIG:= \
+ CONFIG_HYPERV_UTILS \
+ CONFIG_HYPERVISOR_GUEST=y \
+ CONFIG_PARAVIRT=n \
+ CONFIG_HYPERV=y
+ FILES:=$(LINUX_DIR)/drivers/hv/hv_util.ko
+ AUTOLOAD:=$(call AutoLoad,10,hv_util)
+endef
+
+define KernelPackage/hyperv-util/description
+ Microsoft Hyper-V Utility Driver
+endef
+
+$(eval $(call KernelPackage,hyperv-util))
+
+#
+# Hyper-V Storage Drive needs to be in kernel rather than module to load the root fs.
+#
+define KernelPackage/hyperv-storage
+ SUBMENU:=$(VIRTUAL_MENU)
+ DEPENDS:=@(TARGET_x86||TARGET_x86_64) +kmod-scsi-core
+ TITLE:=Microsoft Hyper-V Storage Driver
+ KCONFIG:= \
+ CONFIG_HYPERV_STORAGE=y \
+ CONFIG_HYPERVISOR_GUEST=y \
+ CONFIG_PARAVIRT=n \
+ CONFIG_HYPERV=y
+ FILES:=$(LINUX_DIR)/drivers/scsi/hv_storvsc.ko
+ AUTOLOAD:=$(call AutoLoad,40,hv_storvsc)
+endef
+
+define KernelPackage/hyperv-storage/description
+ Microsoft Hyper-V Storage Driver
+endef
+
+$(eval $(call KernelPackage,hyperv-storage))
复制代码diff --git a/target/linux/x86/64/config-default b/target/linux/x86/64/config-default
index 1caad74..32c7648 100644
--- a/target/linux/x86/64/config-default
+++ b/target/linux/x86/64/config-default
@@ -99,6 +99,14 @@ CONFIG_HPET_MMAP=y
CONFIG_HW_RANDOM_INTEL=y
# CONFIG_HW_RANDOM_VIRTIO is not set
CONFIG_HYPERVISOR_GUEST=y
+# CONFIG_HYPERV is not set
+# CONFIG_HYPERV_BALLOON is not set
+# CONFIG_HYPERV_NET is not set
+# CONFIG_HYPERV_STORAGE is not set
+# CONFIG_HYPERV_UTILS is not set
+# CONFIG_FB_HYPERV is not set
+# CONFIG_HID_HYPERV_MOUSE is not set
+# CONFIG_HYPERV_KEYBOARD is not set
# CONFIG_I7300_IDLE is not set
# CONFIG_IA32_EMULATION is not set
CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000
复制代码diff --git a/target/linux/x86/config-3.18 b/target/linux/x86/config-3.18
index d7a2d61..6dfdfd7 100644
--- a/target/linux/x86/config-3.18
+++ b/target/linux/x86/config-3.18
@@ -203,6 +203,17 @@ CONFIG_HW_RANDOM=y
CONFIG_HW_RANDOM_GEODE=y
CONFIG_HW_RANDOM_VIA=y
# CONFIG_HYPERVISOR_GUEST is not set
+
+# CONFIG_HYPERV is not set
+# CONFIG_HYPERV_BALLOON is not set
+# CONFIG_HYPERV_NET is not set
+# CONFIG_HYPERV_STORAGE is not set
+# CONFIG_HYPERV_UTILS is not set
+# CONFIG_FB_HYPERV is not set
+# CONFIG_HID_HYPERV_MOUSE is not set
+# CONFIG_VMWARE_BALLOON is not set
+# CONFIG_HYPERV_KEYBOARD is not set
+
CONFIG_HZ_PERIODIC=y
CONFIG_I8253_LOCK=y
# CONFIG_I8K is not set
复制代码diff --git a/target/linux/x86/image/Makefile b/target/linux/x86/image/Makefile
index e7e02f1..a52ec11 100644
--- a/target/linux/x86/image/Makefile
+++ b/target/linux/x86/image/Makefile
@@ -148,6 +148,15 @@ ifneq ($(CONFIG_VMDK_IMAGES),)
endef
endif
+ifneq ($(CONFIG_VHD_IMAGES),)
+ define Image/Build/vhd
+ rm $(BIN_DIR)/$(IMG_PREFIX)-combined-$(1).vhd || true
+ qemu-img convert -f raw -O vpc \
+ $(BIN_DIR)/$(IMG_PREFIX)-combined-$(1).img \
+ $(BIN_DIR)/$(IMG_PREFIX)-combined-$(1).vhd
+ endef
+endif
+
define Image/Build/gzip
gzip -f9 $(BIN_DIR)/$(IMG_PREFIX)-combined-$(1).img
gzip -f9 $(BIN_DIR)/$(IMG_PREFIX)-rootfs-$(1).img
@@ -219,6 +228,7 @@ define Image/Build
$(call Image/Build/grub2,$(1))
$(call Image/Build/vdi,$(1))
$(call Image/Build/vmdk,$(1))
+ $(call Image/Build/vhd,$(1))
$(CP) $(KDIR)/root.$(1) $(BIN_DIR)/$(IMG_PREFIX)-rootfs-$(1).img
else
$(CP) $(KDIR)/root.iso $(BIN_DIR)/$(IMG_PREFIX).iso
复制代码
作者:
mm5t2p4
时间:
2016-3-29 18:00
用opkg list-installed查看,主要的包应该是以下几个:
kmod-hyperv-balloon - 3.18.19-1
kmod-hyperv-net-vsc - 3.18.19-1
kmod-hyperv-storage - 3.18.19-1
kmod-hyperv-util - 3.18.19-1
复制代码
用lsmod查看,对应的模块应该是:
hv_balloon 8637 0 [permanent]
hv_netvsc 18100 0
复制代码
欢迎光临 网云科技 (http://www.8x6x.com/)
Powered by Discuz! X3.2