создаем текстовый файлик (например 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 коммент.:
Отправить комментарий