root serv2 cat pf conf интерфейсы int_if vr0 modem_if rl0 ext_if rl0 и

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
[root@serv2 ~]# cat pf.conf
#интерфейсы
int_if="vr0"
#modem_if="rl0"
ext_if="rl0"
#ипы сети
admin_comp="192.168.112.6"
sergaeva_comp="192.168.112.21"
marina_comp="192.168.112.9"
lena_comp="192.168.112.1"
server_comp="192.168.112.254"
yurist_comp="192.168.112.4"
serv_port="3389"
icmp_types="echoreq"
#таблица люедй вне прокси
table <nonproxy> const { $admin_comp, $server_comp, $sergaeva_comp, $yurist_comp, $marina_comp, $lena_comp }
#политика по-умолчанию
set block-policy drop
#игнорируем петлевой интерфейс
set skip on lo0
#нормализуем вх/исх трафик
#scrub in all fragment reassemble
# Нормализация и т.д.
set block-policy return
set loginterface $ext_if
#scrub in all max-mss 1436
scrub in all no-df
scrub out all random-id max-mss 1360
#натим
nat pass log on $ext_if inet proto tcp from <nonproxy> to any -> ($ext_if)
#перекидываем порт со внешки на сервак
rdr on $ext_if inet proto tcp to $ext_if port $serv_port -> $server_comp port $serv_port
#на проксю
rdr inet proto tcp from <nonproxy> to any port www -> 192.168.112.251 port 3128
#блочим все (политика по-умолчанию)
block all
# Открываем входящие соединения с уже установленным флагом
pass out on { $ext_if $int_if } proto { tcp udp icmp } all modulate state
#Открываем исходящие с прокси
pass out quick on $ext_if inet proto tcp from 192.168.112.251 to any port www keep state
#разрешим входящие с инета, чтобы перекинуть их
pass in on $ext_if proto tcp from any to ($ext_if) port $serv_port flags S/SA keep state
# SSH c инета и локалки
pass in on $ext_if proto tcp from any to ($ext_if) port ssh flags S/SA keep state
pass in quick on $int_if proto tcp from any to $int_if port ssh flags S/SA keep state
# DNS
pass in on $int_if inet proto udp from $int_if:network to $int_if port 53 keep state
# Пущай пингуют
pass in inet proto icmp all icmp-type $icmp_types keep state
#Разрешаем входящие
pass in on $int_if inet proto tcp from <nonproxy> to any keep state