Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
notes:pf [2020/02/02 08:45] alex |
notes:pf [2021/11/13 14:08] (текущий) alex |
||
---|---|---|---|
Строка 18: | Строка 18: | ||
| | ||
pfctl -s rules показать текущие правила фильтрации | pfctl -s rules показать текущие правила фильтрации | ||
+ | pfctl -sn посмотреть список загруженных правил | ||
pfctl -v -s rules show показать информацию по каждому правилу фильтрации | pfctl -v -s rules show показать информацию по каждому правилу фильтрации | ||
pfctl -vvsr показать текущие правила фильтрации с добавлением номера правила | pfctl -vvsr показать текущие правила фильтрации с добавлением номера правила | ||
Строка 32: | Строка 33: | ||
pfctl -t testtable -T delete 192.168.1.1 удаление адреса 192.168.1.1 из таблицы testtable | pfctl -t testtable -T delete 192.168.1.1 удаление адреса 192.168.1.1 из таблицы testtable | ||
pfctl -t testtable -T flush очистить таблицу testtable | pfctl -t testtable -T flush очистить таблицу testtable | ||
- | |||
- | |||
A SAMPLE FREEBSD / OPENBSD / NETBSD PF FIREWALL RULE ( /ETC/PF.CONF)\\ | A SAMPLE FREEBSD / OPENBSD / NETBSD PF FIREWALL RULE ( /ETC/PF.CONF)\\ | ||
Строка 46: | Строка 45: | ||
pass in on $ext_if proto tcp from 10.5.1.3 to any port 3306 flags S/SA synproxy state | pass in on $ext_if proto tcp from 10.5.1.3 to any port 3306 flags S/SA synproxy state | ||
+ | === Редирект на PF === | ||
+ | осуществляется очень просто, допустим внутри сети у вас есть вебсервер на который надо пробросить весь трафик идущий на ip внешнего маршрутизатора (89.252.34.110, сетевай карта em0) на внутренний адрес (192.168.10.10), правило для pf будет таким: | ||
+ | |||
+ | rdr on em0 proto { tcp, udp } from any to 89.252.34.110 -> 192.168.10.10 | ||
+ | nat on em0 proto { tcp, udp } from 192.168.10.10 to any -> 89.252.34.110 | ||
+ | Для того что бы пробросить один порт, например 80 c ip 89.252.34.110 на 192.168.10.10 80 порт, конструкция будет такая: | ||
+ | |||
+ | rdr on em0 proto { tcp, udp } from any to 89.252.34.110 port 80 -> 192.168.10.10 | ||
+ | nat on em0 proto { tcp, udp } from 192.168.10.10 to any -> 89.252.34.110 | ||
+ | Или допустим нужно порт 8080 ip 89.252.34.110 пробросить на 192.168.10.10, 80 порт то прописать надо такие настройки: | ||
+ | |||
+ | rdr on em0 proto { tcp, udp } from any to 89.252.34.110 port 8080 -> 192.168.10.10 port 80 | ||
+ | nat on em0 proto { tcp, udp } from 192.168.10.10 to any -> 89.252.34.110 | ||
+ | Во всех предыдущих примерах использовалась строка: | ||
+ | |||
+ | nat on em0 proto { tcp, udp } from 192.168.10.10 to any -> 89.252.34.110 | ||
+ | Это пример настройки ната отдельного ip. | ||
+ | Для того что бы задействовать нат целой подсети достаточно прописать такие настройки: | ||
+ | nat on em0 from 192.168.10.0/24 to any -> 89.252.34.107 | ||
+ | Мы занатим всю сеть 192.168.10.0/24 в адрес 89.252.34.107. | ||
+ | Перезапуск PF без потери соединений | ||
+ | pfctl -f /etc/pf.conf | ||
https://www.cyberciti.biz/tips/how-do-i-enable-remote-access-to-mysql-database-server.html\\ | https://www.cyberciti.biz/tips/how-do-i-enable-remote-access-to-mysql-database-server.html\\ | ||
- | https://romantelychko.com/blog/928/ | + | https://romantelychko.com/blog/928\\ |
+ | http://www.hilik.org.ua/%D1%80%D0%B5%D0%B4%D0%B8%D1%80%D0%B5%D0%BA%D1%82-%D0%BF%D1%80%D0%BE%D0%B1%D1%80%D0%BE%D1%81-%D0%BF%D0%BE%D1%80%D1%82%D0%BE%D0%B2-%D0%B8-nat-%D1%81-%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E-pf\\ | ||
+ | https://forums.freebsd.org/threads/pf-start-restart-without-loosing-connections.59723/ |