Size: 1861
Comment:
|
Size: 2968
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 19: | Line 19: |
---- | == Синтетическое понятие «состояние в PF» == Состояние — это набор информации, необходимый для преобразования/перенаправления/допуска потока данных. См., например, два состояния, сохранённых для `ping` из внутренней сети |
Line 34: | Line 35: |
all udp 10.30.50.1:53 <- 10.30.50.3:44181 SINGLE:MULTIPLE all udp 10.0.2.15:15999 -> 192.168.11.1:53 MULTIPLE:SINGLE |
|
Line 38: | Line 37: |
== Таблицы и макросы == | |
Line 39: | Line 39: |
== Д/З == Поработать со стендом: |
|
Line 40: | Line 43: |
* `FW-PFBSD`: сервер, доступ по ssh localhost:2212, доступ на 80-прот http;//lcoalhost:8012 * `FC-client`: клиенит с единственной сетью (intnet), адрес 10.30.50.3 (можно попасть из консоли virtualbox или ssh с срвера |
1. `FW-PFBSD`: сервер, доступ по ssh localhost -p2212, доступ на 80-прот http;//localhost:8012 1. `FC-client`: клиент с единственной сетью (intnet), адрес 10.30.50.3 (можно попасть из консоли virtualbox или ssh с сервера Что можно сделать: * Посмотреть правила в `/etc/pf.conf` * Посмотреть, во что они превращаются: `pfctl -sa` * Обратить внимание на якорь (подробнее о якорях — на одной из следующих лекций) * Подключиться к `http://localhost:8012` (проброс на сервер → проброс средствами PF на клиент) * Посмотреть таблицу состояний `pfctl -ss` * Подключиться с клиента куда-нибудь по какому-нибудь протоколу :) * Посмотреть таблицу состояний `pfctl -ss` |
Особенности FreeBSD/OpenBSD PF
OpenBSD: отказ от разделения преобразующих (nat, rdr) и фильтрующих (bass, block) команд.
pass out on ext_interface from src_addr to dst_addr nat-to ext_addr или match out on ext_interface from src_addr to dst_addr nat-to ext_addr … pass out on ext_interface from src_addr to dst_addr и pass in on ext_interface other_filters port ext_port rdr-to int_server [int_port]
Синтетическое понятие «состояние в PF»
Состояние — это набор информации, необходимый для преобразования/перенаправления/допуска потока данных. См., например, два состояния, сохранённых для ping из внутренней сети
fw-bsd# pfctl -ss No ALTQ support in kernel ALTQ related functions disabled all tcp 10.0.2.15:22 <- 10.0.2.2:38548 ESTABLISHED:ESTABLISHED all tcp 10.0.2.15:22 <- 10.0.2.2:38559 ESTABLISHED:ESTABLISHED all tcp 10.30.50.1:18550 -> 10.30.50.3:22 ESTABLISHED:ESTABLISHED all tcp 10.30.50.3:80 (10.0.2.15:80) <- 10.0.2.2:35520 FIN_WAIT_2:FIN_WAIT_2 all tcp 10.0.2.2:35520 -> 10.30.50.3:80 FIN_WAIT_2:FIN_WAIT_2 all udp 10.30.50.1:53 <- 10.30.50.3:59363 SINGLE:MULTIPLE all udp 10.0.2.15:55546 -> 192.168.11.1:53 MULTIPLE:SINGLE all icmp 144.76.222.201:3782 <- 10.30.50.3:3782 0:0 all icmp 10.0.2.15:25608 (10.30.50.3:3782) -> 144.76.222.201:25608 0:0
Таблицы и макросы
Д/З
Поработать со стендом: Образы клиента и сервера:
FW-PFBSD: сервер, доступ по ssh localhost -p2212, доступ на 80-прот http;//localhost:8012
FC-client: клиент с единственной сетью (intnet), адрес 10.30.50.3 (можно попасть из консоли virtualbox или ssh с сервера
Что можно сделать:
Посмотреть правила в /etc/pf.conf
Посмотреть, во что они превращаются: pfctl -sa
- Обратить внимание на якорь (подробнее о якорях — на одной из следующих лекций)
Подключиться к http://localhost:8012 (проброс на сервер → проброс средствами PF на клиент)
Посмотреть таблицу состояний pfctl -ss
Подключиться с клиента куда-нибудь по какому-нибудь протоколу
Посмотреть таблицу состояний pfctl -ss