vpp系列5-SNAT

前置

上一篇介绍了VPP基本的路由功能,本章测试NAT相关的功能,分两部分讲解,SNAT和DNAThtml

拓扑图仍是和上篇同样vim

VPP接管公网口

接管前,先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

SNAT

基本的接口配置见下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的,配置文件里切了,这里咋没变?

经过脚本切一下

查看

但问题依旧? 

相关文章
相关标签/搜索