как настроить NAT-pmp на os x для поддержки устройства utun?

Я использую проект SimepleTunnel, расширение PacketTunel для iPhone работает с туннелем_сервером, но туннель_сервер записывает пакеты в kerel, как настроить pf для трафика NAT и пакеты могут маршрутизироваться в Интернет?

Система Mac OS X Internetshare использует /usr/libexec/natpmpd, это приложение поддерживает только устройства Ethernet, не может поддерживать устройство IP-туннеля

pf.conf

vpn_net = "192.168.3.0/24"  
ext_if = "en0"  
nat on en0  from $vpn_net to any ->  (en0)  

проверить состояние пф

rMBP:etc root# pfctl -sa  
No ALTQ support in kernel  
ALTQ related functions disabled  
TRANSLATION RULES:  
nat on en0 inet from 192.168.3.0/24 to any -> (en0) round-robin  

Я использую tcpdump для проверки состояния записи

tcpdump -i utun0 и нашел 192.168.3.0/16 на моем dnsserver 192.168.0.24, но dnserver не воспроизводится на 192.168.3.0/16

14:02:46.467038 IP 192.168.3.3.57257 > 192.168.0.245.domain: 38998+ A? guzzoni.apple.com. (35)  
14:02:46.467877 IP 192.168.3.3.49218 > 192.168.0.245.domain: 59621+ A? www.apple.com. (31)  
14:02:53.068894 IP 192.168.3.3.60834 > 192.168.0.245.domain: 52069+ A? apple.com. (27)  
14:02:53.069427 IP 192.168.3.3.57257 > 192.168.0.245.domain: 38998+ A? guzzoni.apple.com. (35)  
14:02:53.070072 IP 192.168.3.3.49218 > 192.168.0.245.domain: 59621+ A? www.apple.com. (31)  
14:03:05.456122 IP 192.168.3.3.60834 > 192.168.0.245.domain: 52069+ A? apple.com. (27)  
14:03:05.456653 IP 192.168.3.3.57257 > 192.168.0.245.domain: 38998+ A? guzzoni.apple.com. (35)  
14:03:05.457140 IP 192.168.3.3.49218 > 192.168.0.245.domain: 59621+ A? www.apple.com. (31)  

как настроить пакет pf let utun для трафика NAT?


person yarshure    schedule 26.10.2015    source источник


Ответы (1)


nat-anchor "simpleTunnel" 
load anchor "simpleTunnel" from "/etc/pf.anchors/simpleTunnel"
add upper lines to /etc/pf.conf

отредактируйте pf.anchors/simpleTunnel, добавьте

nat on en0 from 10.10.0.0/16 to any -> en0 

тогда

sudo sysctl net.inet.ip.forwarding=1  
sudo sysctl net.inet.ip.fw.enable=1  
sudo pfctl -evf /etc/pf.conf  

см. форум разработчиков

person yarshure    schedule 04.07.2016
comment
sudo sysctl net.inet.ip.fw.enable=1 // ipfw заменить на pf, может потребоваться Включить системный брандмауэр Нет поддержки ALTQ в ядре Функции, связанные с ALTQ, отключены - person yarshure; 07.05.2019