netpfil tests: dummynet+NAT test for pf
Ensure that NAT still works as expected when combined with dummynet. MFC after: 3 weeks Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.org/D32666
This commit is contained in:
parent
e5c4987e3f
commit
4ee0f6d874
@ -329,6 +329,50 @@ queue_v6_cleanup()
|
|||||||
firewall_cleanup $1
|
firewall_cleanup $1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
nat_head()
|
||||||
|
{
|
||||||
|
atf_set descr 'Basic dummynet + NAT test'
|
||||||
|
atf_set require.user root
|
||||||
|
}
|
||||||
|
|
||||||
|
nat_body()
|
||||||
|
{
|
||||||
|
fw=$1
|
||||||
|
firewall_init $fw
|
||||||
|
dummynet_init $fw
|
||||||
|
nat_init $fw
|
||||||
|
|
||||||
|
epair=$(vnet_mkepair)
|
||||||
|
epair_two=$(vnet_mkepair)
|
||||||
|
|
||||||
|
ifconfig ${epair}a 192.0.2.2/24 up
|
||||||
|
route add -net 198.51.100.0/24 192.0.2.1
|
||||||
|
|
||||||
|
vnet_mkjail gw ${epair}b ${epair_two}a
|
||||||
|
jexec gw ifconfig ${epair}b 192.0.2.1/24 up
|
||||||
|
jexec gw ifconfig ${epair_two}a 198.51.100.1/24 up
|
||||||
|
jexec gw sysctl net.inet.ip.forwarding=1
|
||||||
|
|
||||||
|
vnet_mkjail srv ${epair_two}b
|
||||||
|
jexec srv ifconfig ${epair_two}b 198.51.100.2/24 up
|
||||||
|
|
||||||
|
jexec gw dnctl pipe 1 config bw 300Byte/s
|
||||||
|
|
||||||
|
firewall_config gw $fw \
|
||||||
|
"pf" \
|
||||||
|
"nat on ${epair_two}a inet from 192.0.2.0/24 to any -> (${epair_two}a)" \
|
||||||
|
"pass dnpipe 1"
|
||||||
|
|
||||||
|
# We've deliberately not set a route to 192.0.2.0/24 on srv, so the
|
||||||
|
# only way it can respond to this is if NAT is applied correctly.
|
||||||
|
atf_check -s exit:0 -o ignore ping -c 1 198.51.100.2
|
||||||
|
}
|
||||||
|
|
||||||
|
nat_cleanup()
|
||||||
|
{
|
||||||
|
firewall_cleanup $1
|
||||||
|
}
|
||||||
|
|
||||||
setup_tests \
|
setup_tests \
|
||||||
pipe \
|
pipe \
|
||||||
ipfw \
|
ipfw \
|
||||||
@ -341,4 +385,6 @@ setup_tests \
|
|||||||
pf \
|
pf \
|
||||||
queue_v6 \
|
queue_v6 \
|
||||||
ipfw \
|
ipfw \
|
||||||
|
pf \
|
||||||
|
nat \
|
||||||
pf
|
pf
|
||||||
|
Loading…
Reference in New Issue
Block a user