суббота, Май 02, 2009

Включение NAT в Mac OS X для ленивых

Включение NAT (шаринг инета) c произвольного интерфес в Mac OS X (через GUI включается DHCP, что не всегда оказывается кстати)

создаем текстовый файлик (например gw.sh) в любом редакторе со следующим содержимым

файлик должен быть plain text, а не RTF, .pages, .odt, .doc :)

меняем EXT_IFACE=ppp0 на ваш интерфес, смотрящий в интернет (для PPPoE и VPN PPTP можно оставить как есть)

#!/bin/bash
#Writed by v12aml

EXT_IFACE=ppp0

case $1 in
on)
sudo natd -n $EXT_IFACE -s -m
sudo ipfw add divert natd ip from any to any via $EXT_IFACE
sudo sysctl -w net.inet.ip.forwarding=1
sudo sysctl -w net.inet.ip.fastforwarding=1
;;
off)
sudo kill `ps aux | grep natd | grep -v grep | awk '{ print $2 }'`
sudo sysctl -w net.inet.ip.forwarding=0
sudo sysctl -w net.inet.ip.fastforwarding=0
sudo ipfw del divert natd ip from any to any via $EXT_IFACE
;;
*)
echo "Usage: `basename $0` on|off"
exit 1
;;
esac


#EOF

даем права на исполнение файлику
через терминал это делается так (имя и путь до файла не забудте поправить):
chmod +x ./gw.sh

по желанию добавляем в /etc/sudoers что-то вроде (имя юзверя сменить не забудте):
v12aml ALL=(ALL) NOPASSWD: ALL

используется сие из терминала, например так:
включить NAT
./gw.sh on

выключить NAT
./gw.sh off

P.S. дадад, обычный фряшный natd и ipfw

0 коммент.:

Отправить комментарий