Настройка ограничения трафика в обход любого VPN-соединения для Mac OS X


Для настройки ограничения утечек трафика в системах Mac OS X можно воспользоваться встроенным файрволом pf – Packet Filter.

Для этого выполните следующие действия:

1. Создайте файл /etc/pf.anchors/vpn.list с IP адресом VPN cервера. Можно указать несколько адресов. Создать файл можно командой в консоли

sudo vi /etc/pf.anchors/vpn.list
содержимое файла:

10.10.10.10
10.10.10.1

2. Создайте файл /etc/pf.anchors/custom.list. В нем нужно перечислить DNS адреса, которые используются VPN сервером.

8.8.8.8
1.1.1.1
8.8.4.4

3. Создайте файл /etc/pf.anchors/openvpn со следующим содержимым:

# Options
set block-policy drop
set fingerprints \\"/etc/pf.os\\"
set ruleset-optimization basic
set skip on lo0
# Interfaces
vpn_intf = \\"{utun0 utun1 utun2 utun3}\\"
# Ports
allowed_vpn_ports = \\"{1:65535}\\"
# Table with allowed IPs
table  persist file \\"/etc/pf.anchors/vpn.list\\" file \\"/etc/pf.anchors/custom.list\\"
# Block all outgoing packets
block out all
# Antispoof protection
#antispoof for $vpn_intf inet
# Allow outgoing packets to specified IPs only
pass out proto icmp from any to 
pass out proto {tcp udp} from any to  port $allowed_vpn_ports
# Allow traffic for VPN interfaces
pass out on $vpn_intf all

4. Добавьте в файл /etc/pf.conf в конец файла  строчки:

anchor \\"openvpn\\"
load anchor \\"openvpn\\" from \\"/etc/pf.anchors/openvpn\\"

5. Чтобы настройки применились выполните команду

sudo pfctl -f /etc/pf.conf

6. Что-бы отменить настройки удалите последние 2 строчки, которые вы добавили в файл /etc/pf.conf и снова выполните команду из пункта 5.

Поддержка