前置
上一篇介绍了VPP基本的路由功能,本章测试NAT相关的功能,分两部分讲解,SNAT和DNAT
拓扑图还是和上篇一样
VPP接管公网口
接管前,先down掉网卡
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
SNAT
基本的接口配置见下
SNAT以ethvpp-pub接口作为公网出口,此口连接外网。
配置公网口
vpp# set int ip address ethvpp-pub 210.73.218.162/30
vpp# set int state ethvpp-pub up
添加出网路由
vpp# ip route add 0.0.0.0/0 via 210.73.218.161 # 此为网关IP
SNAT部分配置
vpp# nat44 add int address ethvpp-pub
vpp# set int nat44 in ethvpp-2 out ethvpp-pub
测试
遇到的问题
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的,配置文件里切了,这里咋没变?
通过脚本切一下
查看
但问题依旧?
来源:oschina
链接:https://my.oschina.net/u/914655/blog/4475913