上一篇介紹了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的,配置文件裏切了,這裏咋沒變?
經過腳本切一下
查看
但問題依舊?