corbina и другие vpn провайдеры: как подключиться и расшарить интернет
предупреждение: вам придется перед тем, как сделать это, освоить терминал и редактирование файлов в нем (мне нравится vim, но я не стану объяснять вам как в нем работать. инструкция для nano).
по отдельности ничего работать не будет. сначала выполните все шаги.
примечание: если у вас все работает, то не стоит делать описанного ниже.
если вам нужно только подключиться, выполняйте шаги с первого по третий. если нужно подключиться и расшарить, то
шаг первый. /etc/rc.local
/usr/sbin/pppd plugin PPTP.ppp remoteaddress vpn.corbina.ru logfile /var/log/ppp.log user USERNAME password PASSWORD defaultroute usepeerdns persist maxfail 0
/usr/libexec/InternetSharing
описание:
важно: заменить USERNAME и PASSWORD на свои логин и пароль соответственно
первая строка соединит вас с интернетом прямо при старте компьютера. при дисконнекте соединит заново
а вторая строка расшарит этот интернет
шаг второй. /etc/ppp/check-and-reconnect.sh
#!/bin/sh
GOOGLE_CHECK=`/sbin/ping -c 10 -o google.com && echo ok`
if [ "x$GOOGLE_CHECK" == "x" ] ; then
echo >&2 "link failed"
kill -1 $(< /var/run/ppp0.pid)
fi
после того, как создали файл, в терминале выполните
sudo chmod 755 /etc/ppp/check-and-reconnect.sh
sudo chown root:wheel /etc/ppp/check-and-reconnect.sh
этот скрипт будет проверять соединение с гугл и при недоступности гугла пинать соединение с корбиной на предмет пересоединения
шаг третий /var/cron/tabs/root
*/10 * * * * /etc/ppp/check-and-reconnect.sh
после того, как создали файл, в терминале выполните
sudo chmod 600 /var/cron/tabs/root
sudo chown root:wheel /var/cron/tabs/root
примечание для флеймеров и эстетов: для crontab -e нужна установленная переменная EDITOR. объяснять, как ее устанавливать, я не хочу по причине, указанной в первом абзаце поста.
примечание для тех, кому не нужно расшаривать интернет: теперь сохраняйтесь и перезагружайте машину. все должно работать.
шаг четвертый. /etc/natd.conf
same_ports yes
use_sockets yes
dynamic yes
interface ppp0
это позволит пакетам, переданным на машину с других машин, уходить в интернет (и обратно)
шаг пятый. /etc/ppp/ip-up
#!/bin/sh
IPFW='/sbin/ipfw'
/usr/sbin/natd -f /etc/natd.conf
$IPFW add 1001 divert natd all from any to any via $1
$IPFW add 501 allow tcp from any to any in recv en1
/usr/libexec/InternetSharing
/usr/sbin/sysctl -w net.inet.ip.forwarding=1
и еще /etc/ppp/ip-down
#!/bin/sh
IPFW='/sbin/ipfw'
$IPFW delete 1001
$IPFW delete 501
/usr/libexec/InternetSharing
после того, как создали файлы, в терминале выполните
sudo chmod 755 /etc/ppp/ip-{up,down}
sudo chown root:wheel /etc/ppp/ip-{up,down}
важно: замените интерфейс en1 на тот, который у вас airport.
описание: сие действо открывает после соединения ваш компьютер для атак через airport. а после рассоединения - закрывает. в принципе, вы можете удалить строчку с цифрой 501, но тогда на компьютерах, для которых вы расшариваете интернет, отключатся все сервисы, закрытые у вас в закладке firewall в секции shared ваших system preferences. но можете на этот текст не обращать внимания. потому что если кто-то сильно захочет, то сломает вашу машину даже с работающим файрволлом.
после перезагрузки вы станете счастливым обладателем расшаренного интернета.
примечание: или не станете.