kkkgo / PaoPaoGateWay

PaoPao GateWay是一个体积小巧、稳定强大的FakeIP网关
https://blog.03k.org/post/paopaogateway.html
GNU General Public License v3.0
384 stars 26 forks source link

PVE vm Sriov network interfaces problem #27

Closed Geilberton closed 1 year ago

Geilberton commented 1 year ago

docker下定制的iso,打包完发现无法识别直通的pcie网卡,该网卡是sriov出来的vf(其他vm正常使用vf)。启动后一直显示ppgateway waitting for eth0。只有添加虚拟网卡才可以正常连接, 请问是否有可以修改识别直通网卡的相关设置?该iso是在centos7下搭建的docker定制的。 辛苦~ 感谢~

kkkgo commented 1 year ago

镜像因为是虚拟机专用默认仅包含虚拟网卡驱动。 另外我记得sriov的vf驱动跟直通驱动还不太一样,你尝试过使用任意openwrt发行版的VM可以驱动你的网卡吗?如果可以的话,有办法添加驱动。

Geilberton commented 1 year ago

用p3r大佬的action自编的lienol 2203没有任何问题,可以正确识别并且运行无Bug,其他版本的话没试过呢~ 意思是需要和在windows添加独立的trust吗?还是只是注入驱动就可以?

kkkgo commented 1 year ago

你在可以运行驱动的openwrt上,安装pciutils包opkg install pciutils 然后执行lspci|grep net,看看网卡相关的驱动显示的是什么

Geilberton commented 1 year ago

06:10.0 Ethernet controller: Intel Corporation I350 Ethernet Controller Virtual Function (rev 01) 4口的I350噢,我的物理网卡,之前在pve上开启sriov时我也试过,都是这个驱动。

kkkgo commented 1 year ago

我尝试一下,再给你定制方法

Geilberton commented 1 year ago

非常感谢~ 辛苦大佬~ 好人平安~ 如果实在不行我就用回虚拟网卡吧,毕竟如果需要单独注入一个驱动包太辛苦大佬了~

kkkgo commented 1 year ago

把定制的docker镜像切换成fullmod版本:

docker pull sliamb/ppgwiso:fullmod
docker run --rm -v .:/data sliamb/ppgwiso:fullmod
kkkgo commented 1 year ago

sliamb/ppgwiso:fullmod附带了所有可能支持的网卡驱动和相关模块,生成的镜像会大20M左右,可适当增加运行内存。

Geilberton commented 1 year ago

非常感谢大佬~感激不尽~ iso由62增大到82,不过是可以接受的,毕竟只是网关而不是dns。ram占用在210+左右,分配256也够用了,后期不够在加到384。我有空在对照下虚拟驱动版本的iso把其他不需要清理下,留下单独的igb驱动就好了。我本来想自己去找一个直接扔进moduels里面的。但是找了下好象都是.c的驱动,并没有直接的.ko。所以就放弃了~ 另外想请教下大佬,我用的centos7搭建的ppdns,命令如下: `

启用eth0网卡混杂模式

ip link set enp1s0 promisc on

创建macvlan网络

docker network create -d macvlan --subnet=10.10.10.0/24 --gateway=10.10.10.13 -o parent=enp1s0 macvlan1

拉取最新的docker镜像

docker pull sliamb/paopaodns:latest

运行容器并指定IP

docker run -d \ --name paopaodns \ -v /home/mydata:/data \ -e TZ=Asia/Shanghai \ -e DNS_SERVERNAME=PaoPaoDNS,blog.03k.org \ -e DNSPORT=53 \ -e UPDATE=weekly \ -e USE_HOSTS=no \ -e CNAUTO=yes \ -e CNFALL=yes \ -e CN_TRACKER=yes \ -e IPV6=no \ -e SOCKS5=10.10.10.13:1080 \ -e CUSTOM_FORWARD=10.10.10.13:53 \ -e AUTO_FORWARD=yes \ -e AUTO_FORWARD_CHECK=yes \ -e USE_MARK_DATA=yes \ -e HTTP_FILE=yes \ --restart always \ --network macvlan1 --ip 10.10.10.18 \ -p 53:53/tcp -p 53:53/udp \ -p 5304:5304/tcp -p 5304:5304/udp \ -p 7889:7889/tcp \ sliamb/paopaodns ` 搭建完成后,虽然显示跑起来了,但是依然不可达?ping dns 18的时候并不可达(不是宿主机,主路由没有看到相关arp显示,宿主机的ip是可以ping通的:10.10.10.17)。docker status 是正常运行的,请问是我配置有问题么? 请原谅我的知识匮乏,我只是对着教程来做,并没有太多相关的知识。谢谢~

kkkgo commented 1 year ago

PVE可以参考这个,配置写的很详细清晰:https://github.com/kkkgo/PaoPaoGateWay/discussions/23
带驱动的定制镜像跑起来了吗?

kkkgo commented 1 year ago

如果网卡直通能正常工作的话我更新一下文档,有类似需求切换fullmod版本即可。

Geilberton commented 1 year ago

是的,正常跑起来了,网卡可以正确识别了~ 后期我再自己去掉那些用不上的就可以缩减体积和ram了。 我需求是只让fakeip dns分流到ppdns解析就行了,所以gateway才设置的ppgw,因为我主路由是ros,有设置了ip分流。ppdns建立时不想经过二次docker nat,所以想建立macvlan独立桥接这样,实在不行我再试试装个ui管理吧,或者直接用原docker nat的网络算了。 总之,非常感谢~ 辛苦大佬~

kkkgo commented 1 year ago

你可以参考上面那个PVE的安装分享,如果macvlan比较麻烦的话直接用host网络模式也可以,host网络就是直接本机网络。跑docker不一定是centos,alpine作为docker的虚拟机体积最小最简单。