上一篇介绍了VPP基本的路由功能,本章测试NAT相关的功能,分两部分讲解,SNAT和DNAThtml
拓扑图仍是和上篇同样vim
接管前,先down掉网卡bash
dpdk { ## Set interface name dev 0000:03:00.0 { name ethvpp-1 } dev 0000:13:00.0 { name ethvpp-2 } dev 0000:0b:00.0 { name ethvpp-pub }
重启测试
service vpp restart
基本的接口配置见下ui
SNAT以ethvpp-pub接口做为公网出口,此口链接外网。spa
配置公网口.net
vpp# set int ip address ethvpp-pub 210.73.218.162/30 vpp# set int state ethvpp-pub up
添加出网路由3d
vpp# ip route add 0.0.0.0/0 via 210.73.218.161 # 此为网关IP
SNAT部分配置rest
vpp# nat44 add int address ethvpp-pub vpp# set int nat44 in ethvpp-2 out ethvpp-pub
测试code
1. 按如上配置配上后,一直不通。--!
这里找到一篇描述vmxnet3的,说是igb_uio不支持,须要将UIO的驱动切换到vfio-pci,下面进行测试
modprobe vfio-pci # 查看是否已加载 lsmod | grep vfio
vim /etc/vpp/startup.conf
# 切为vfio-pci uio-driver vfio-pci
在测试就通了,但新问题接踵而至,又来了--!
在配置好后,刚开始是通的,过会就不通了,暂不知为何?
进入vppctl查看show pci,发现Driver是 igb_uio的,配置文件里切了,这里咋没变?
经过脚本切一下
查看
但问题依旧?