环境准备
Vpp接管2个网卡:GigabitEthernet3/0/0,GigabitEthernetb/0/0
GigabitEthernetb/0/0地址配置:
set interface ip address GigabitEthernetb/0/0 192.168.1.1/24
GigabitEthernet3/0/0地址配置:
set interface ip address GigabitEthernet3/0/0 10.2.21.49/24
配置默认路由:
ip route add 0.0.0.0/0 via 10.2.21.1 //10.2.21.1连接了外网
配置nat44:
nat44 add int address GigabitEthernet3/0/0 或者nat44 add address 10.2.21.49
set int nat44 in GigabitEthernetb/0/0 out GigabitEthernet3/0/0
网卡up:
set int state GigabitEthernet3/0/0 up
set in state GigabitEthernetb/0/0 up
验证
主机配置地址:
ip addr add 192.168.1.2/24 dev ens33
默认路由配置:
ip route add default via 192.168.1.1 dev ens33 //指向vpp网卡地址
00:25:43:163323: dpdk-input
GigabitEthernetb/0/0 rx queue 0
buffer 0x8f8ab: current data 0, length 98, buffer-pool 0, ref-count 1, totlen-nifb 0, trace handle 0x10
ext-hdr-valid
l4-cksum-computed l4-cksum-correct
PKT MBUF: port 1, nb_segs 1, pkt_len 98
buf_len 2176, data_len 98, ol_flags 0x0, data_off 128, phys_addr 0x5b7e2b40
packet_type 0x0 l2_len 0 l3_len 0 outer_l2_len 0 outer_l3_len 0
rss 0x0 fdir.hi 0x0 fdir.lo 0x0
IP4: 00:0c:29:ab:be:11 -> 00:0c:29:ab:be:25
ICMP: 192.168.1.2 -> 14.215.177.39
tos 0x00, ttl 64, length 84, checksum 0xd31f
fragment id 0xe5e0, flags DONT_FRAGMENT
ICMP echo_request checksum 0x3bd0
00:25:43:163376: ethernet-input
frame: flags 0x3, hw-if-index 2, sw-if-index 2
IP4: 00:0c:29:ab:be:11 -> 00:0c:29:ab:be:25
00:25:43:163385: ip4-input-no-checksum
ICMP: 192.168.1.2 -> 14.215.177.39
tos 0x00, ttl 64, length 84, checksum 0xd31f
fragment id 0xe5e0, flags DONT_FRAGMENT
ICMP echo_request checksum 0x3bd0
00:25:43:163390: nat44-in2out
NAT44_IN2OUT_FAST_PATH: sw_if_index 2, next index 3, session -1
tos 0x00, ttl 64, length 84, checksum 0xd31f
fragment id 0xe5e0, flags DONT_FRAGMENT
ICMP echo_request checksum 0x3bd0
00:25:43:163390: nat44-in2out
NAT44_IN2OUT_FAST_PATH: sw_if_index 2, next index 3, session -1
00:25:43:163397: nat44-in2out-slowpath
NAT44_IN2OUT_SLOW_PATH: sw_if_index 2, next index 0, session 6
00:25:43:163431: ip4-lookup
fib 0 dpo-idx 9 flow hash: 0x00000000
ICMP: 10.2.21.49 -> 14.215.177.39
tos 0x00, ttl 64, length 84, checksum 0x7597
fragment id 0xe5e0, flags DONT_FRAGMENT
ICMP echo_request checksum 0xa7
00:25:43:163437: ip4-load-balance
fib 0 dpo-idx 1 flow hash: 0x00000000
ICMP: 10.2.21.49 -> 14.215.177.39
tos 0x00, ttl 64, length 84, checksum 0x7597
fragment id 0xe5e0, flags DONT_FRAGMENT
ICMP echo_request checksum 0xa7
00:25:43:163439: ip4-rewrite
tx_sw_if_index 1 dpo-idx 1 : ipv4 via 10.2.21.1 GigabitEthernet3/0/0: mtu:9000 586ab174787a000c29abbe1b0800 flow hash: 0x00000000
00000000: 586ab174787a000c29abbe1b080045000054e5e040003f0176970a0215310ed7
00000020: b127080000a75a9e000175cce85d000000007abc0500000000001011
00:25:43:163444: GigabitEthernet3/0/0-output
GigabitEthernet3/0/0 l4-cksum-computed l4-cksum-correct l2_hdr_offset_valid l3_hdr_offset_valid
IP4: 00:0c:29:ab:be:1b -> 58:6a:b1:74:78:7a
ICMP: 10.2.21.49 -> 14.215.177.39
tos 0x00, ttl 63, length 84, checksum 0x7697
fragment id 0xe5e0, flags DONT_FRAGMENT
ICMP echo_request checksum 0xa7
00:25:43:163448: GigabitEthernet3/0/0-tx
GigabitEthernet3/0/0 tx queue 0
buffer 0x8f8ab: current data 0, length 98, buffer-pool 0, ref-count 1, totlen-nifb 0, trace handle 0x10
ext-hdr-valid
l4-cksum-computed l4-cksum-correct l2-hdr-offset 0 l3-hdr-offset 14
PKT MBUF: port 1, nb_segs 1, pkt_len 98
buf_len 2176, data_len 98, ol_flags 0x0, data_off 128, phys_addr 0x5b7e2b40
packet_type 0x0 l2_len 0 l3_len 0 outer_l2_len 0 outer_l3_len 0
rss 0x0 fdir.hi 0x0 fdir.lo 0x0
IP4: 00:0c:29:ab:be:1b -> 58:6a:b1:74:78:7a
ICMP: 10.2.21.49 -> 14.215.177.39