pf tests: Basic rdr test
MFC after: 2 weeks
This commit is contained in:
parent
9bfe20461c
commit
ff514f1f8a
@ -12,6 +12,7 @@ ATF_TESTS_SH+= anchor \
|
||||
names \
|
||||
nat \
|
||||
set_tos \
|
||||
rdr \
|
||||
route_to \
|
||||
synproxy \
|
||||
set_skip \
|
||||
|
48
tests/sys/netpfil/pf/rdr.sh
Executable file
48
tests/sys/netpfil/pf/rdr.sh
Executable file
@ -0,0 +1,48 @@
|
||||
# $FreeBSD$
|
||||
|
||||
. $(atf_get_srcdir)/utils.subr
|
||||
|
||||
atf_test_case "basic" "cleanup"
|
||||
basic_head()
|
||||
{
|
||||
atf_set descr 'Basic rdr test'
|
||||
atf_set require.user root
|
||||
}
|
||||
|
||||
basic_body()
|
||||
{
|
||||
pft_init
|
||||
|
||||
epair=$(pft_mkepair)
|
||||
|
||||
pft_mkjail alcatraz ${epair}b
|
||||
|
||||
ifconfig ${epair}a 192.0.2.2/24 up
|
||||
route add -net 198.51.100.0/24 192.0.2.1
|
||||
|
||||
jexec alcatraz ifconfig ${epair}b 192.0.2.1/24 up
|
||||
jexec alcatraz sysctl net.inet.ip.forwarding=1
|
||||
|
||||
# Enable pf!
|
||||
jexec alcatraz pfctl -e
|
||||
pft_set_rules alcatraz \
|
||||
"rdr pass on ${epair}b proto tcp from any to 198.51.100.0/24 port 1234 -> 192.0.2.1 port 4321"
|
||||
|
||||
echo "foo" | jexec alcatraz nc -N -l 4321 &
|
||||
sleep 1
|
||||
|
||||
result=$(nc -N -w 3 198.51.100.2 1234)
|
||||
if [ "$result" != "foo" ]; then
|
||||
atf_fail "Redirect failed"
|
||||
fi
|
||||
}
|
||||
|
||||
basic_cleanup()
|
||||
{
|
||||
pft_cleanup
|
||||
}
|
||||
|
||||
atf_init_test_cases()
|
||||
{
|
||||
atf_add_test_case "basic"
|
||||
}
|
Loading…
Reference in New Issue
Block a user