dariusii

Silver Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору И вот как я решил поступить, заодно написАть Небольшой хЭлп по настройке vpn на этой ОС. Конфигурация под мою локальную сеть 10.63.0.0. Вы можете исправить на свою. Отличия в файле "/Library/StartupItems/Route/Route", который будет нами создан. так же, потом, поменяем ip адреса dns серверов и домены поиска, на свои. и меняем имя нашего vpn сервера. Или же просто вбиваем такой ip. Всю эту информацию провайдер обязан предоставить. Нам понадобится шелл. Возьмем bash. Открываем терминал, переходим в режим суперпользователя командой "sudo -s">"pass" и внимательно читаем, что я тут накалякал. cat - команда, передающая содержимое файла в стандартный вывод. Вам она не понадобится. Вы можете воспользоваться обычным текстовым редактором, но нужно сохранять содержимое, которое Вы будете создавать, в обычный текст. Ибо, по умолчанию, "textedit", будет сохранять все в rtf формате. Почитайте все, что написано ниже. Сохраните на рабочий стол. Потом скопируете так, как это указывается в моем пояснении. Для копирования файлов, достаточно ввести команду cp, нажать пробел и перетащить нужный файл с рабочего стола в консоль. Далее, вводите путь, что указан ниже. Пример: я написал "cat /var/cron/tabs/root" Это значит, что мы должны a. открыть текстовый редактор b. внести содержимое, которое идет ниже, после строчки "cat /var/cron/tabs/root" то есть: Код: */1 * * * * /etc/ppp/check-and-reconnect.sh | сохранить на рабочий стол такое содержимое, в виде текстового файла, но без всяких расширений. Так, как это указано в строчке "cat /var/cron/tabs/root". То есть, в данном случае, у нас должен получиться файл с именем "root", на рабочем столе. А не "root.txt" c. скопировать файл так, как это указано. "cp ~/Desktop/root /var/cron/tabs/" Что бы создать какую-либо директорию, пользуемся командой "mkdir" пример: "mkdir /Library/StartupItems/Route" Настоятельно рекомендую научиться пользоваться редактором "vim". Он на много удобнее, если знать, как им пользоваться. Небольшой экскурс по работе с этой программой: "vim /path/to/file" - открыть файл "/path/to/file". Кстати, таким образом, можно и создать такой файл, если в директории "to/file" каталога "/path" этого файла еще не было. То есть, как только Вы измените содержимое открытого буфера и сохраните его, файл будет создан автоматом, по этому пути. ":i" (уже в самой программе) - перейти в режим редактирования "esc" - выйти из какого-либо режима. переход в режим "read only" К примеру, нам нужно набрать комбинацию ":x", что бы сохранить файл. Если Мы наберем эту комбинацию в режиме редактирования, то мы просто напишем сочетание символов ":" и "w". Так, мы сначала выходим из какого-либо режима и уже после работаем с управляющими символами. "dd" - удалить строчку, на которой находится курсор "2dd" - удалить строчку, на которой находится курсор, а также строчку ниже. что такое "3dd" итд, думаю догадаетесь. ":r" - войти в режим замены одного символа. набираете это сочетание, подходите курсором к символу, который хотите заменить и нажимаете нужный симол на клавиатуре". После такой замены, программа снова перейдет в режим "read only". ':R" - переход в режим полной замены. После замены какого-либо символа, программа так и останется в этом режиме, пока Вы не нажмете клавишу "esc". "yy" - копирование строчки, где находится курсор. "2yy" - копирование строчки, на которой находится курсор и строчки ниже. далее, догадаетесь. ":p" - вставка скопированной строчки. Она будет кинута строкой ниже. ":w" - запись содержимого. сохранение. ":q" - выход ":q!" - выход без сохранения содержимого буфера. ":u" - "undo". Откат на действие назад. "/Enter" - поиск (Под "Enter" подразумевается такая клавиша на клавиатуре, а не сочетание символов "Enter") пример: "/Enterif" - курсор переместится к ближайшему слову "if" повторное нажатие "/Enter", уже без добавления "if" - поиск следущего слова "if" остальное - "man vim" Когда поработаете с пятеркой, десяткой файлов, поймете, что это куда удобнее, чем обычные гуевые редкаторы. Хотя, с виду, так и не скажешь Итак, начнем. 1. cat /var/cron/tabs/root Код: */1 * * * * /etc/ppp/check-and-reconnect.sh | 2. cat /etc/ppp/check-and-reconnect.sh Код: #!/bin/sh RES=`/sbin/ifconfig ppp0 2>/dev/null` if [ "$RES" = "" ]; then /usr/bin/killall pppd /sbin/ping -c 10 192.168.100.1 #wait, зараза, не работает. поэтому, пинг. поправьте, если что. ожидание #нужно, что бы дождаться уничтожение процесса pppd #+и я же не знаю, почему был обрыв. отсюда и чистка таблицы, на всякий случай, и ее последущее "восстановление" #хотя, скрипт можно и переделать. /sbin/route -n flush /Library/StartupItems/Route/Route start /usr/sbin/pptp-up fi | все, что написано русским - комментарии. их не писать они вправе остаться, но учитывая форматирование на форуме (не обязательно и на этом), ктоньть да впишет русское "жесть" в начало новой строки ))) Так чта.. 3. cat /usr/sbin/pptp-up Код: #!/bin/sh /usr/sbin/pppd plugin PPTP.ppp remoteaddress vpn.trc.local \ logfile /var/log/ppp.log user USER password PASSWORD usepeerdns /sbin/route delete net default /sbin/route add default 10.60.1.21 | vpn.trc.local - имя нашего vpn сервера. можно заменить и на ip. USER - логин для входа через vpn PASSWORD - пароль для входа через vpn 4. мой каталог /Library/StartupItems/ ls -l /Library/StartupItems/ total 0 drwxr-xr-x 5 root wheel 170 Jun 16 22:52 Route ls -l /Library/StartupItems/Route/ total 32 -rwxr-xr-x 1 root wheel 6148 Jun 16 22:52 .DS_Store -rwxr-xr-x 1 root wheel 1248 Jun 16 22:52 Route -rwxr-xr-x 1 root wheel 101 Jun 16 22:52 StartupParameters.plist # cat /Library/StartupItems/Route/Route Код: #!/bin/sh ## # Routes ## . /etc/rc.common StartService () { ## # Set up Routes. ## echo "Starting Routes network " route add -net 10.0.0.0 -netmask 255.0.0.0 10.63.1.1 route add -net 10.60.0.0 -netmask 255.255.0.0 10.63.1.1 route add -net 10.61.0.0 -netmask 255.255.0.0 10.63.1.1 route add -net 10.62.0.0 -netmask 255.255.0.0 10.63.1.1 route add -net 10.64.0.0 -netmask 255.255.0.0 10.63.1.1 route add -net 10.65.0.0 -netmask 255.255.0.0 10.63.1.1 route add -net 192.168.0.0 -netmask 255.255.0.0 10.63.1.1 route add -host 10.60.1.20 10.63.1.1 route add -host 10.60.1.21 10.63.1.1 return 0 } StopService () { route flush return 0 } RestartService () { route flush route add -net 10.0.0.0 -netmask 255.0.0.0 10.63.1.1 route add -net 10.60.0.0 -netmask 255.255.0.0 10.63.1.1 route add -net 10.61.0.0 -netmask 255.255.0.0 10.63.1.1 route add -net 10.62.0.0 -netmask 255.255.0.0 10.63.1.1 route add -net 10.64.0.0 -netmask 255.255.0.0 10.63.1.1 route add -net 10.65.0.0 -netmask 255.255.0.0 10.63.1.1 route add -net 192.168.0.0 -netmask 255.255.0.0 10.63.1.1 route add -host 10.60.1.20 10.63.1.1 route add -host 10.60.1.21 10.63.1.1 return 0 } RunService "$1" | # # #Поменяйте на свои маршруты # cat /Library/StartupItems/Route/StartupParameters.plist Код: { Description = "Routing LAN"; Provides = ("Route"); Uses = ("Disks"); } | 5. sudo chmod 755 /etc/ppp/check-and-reconnect.sh sudo chown root:wheel /etc/ppp/check-and-reconnect.sh sudo chmod 600 /var/cron/tabs/root sudo chown root:wheel /var/cron/tabs/root sudo chmod 755 /usr/sbin/pptp-up sudo chown root:wheel /usr/sbin/pptp-up sudo chmod -R 755 /Library/StartupItems/Route sudo chown -R root:wheel /Library/StartupItems/Route Команды копировать просто. выделите нужный текст, нажмите на таком тексте и подержите с пол секунды так кнопку мыши. Затем, не отпуская кнопку мыши, тащите текст в консоль. Можно, еще, дать команду "diskutil repairpermissions /". Не помешает. 6. В настройках сетки вбиваем dns адреса провайдера: System Preferences>network>Buit-in Ethernet>Configure>DNS Servers: 10.60.1.20 212.15.127.1 Search Domains: trc.local 7. Рестарт машины. Либо, перезапуск сервиса crond. После перезапуска, инет поднимается по минутному "щелчку" crond'а. То есть, автоматинг и восстановление связи, в случае падения оной. Можно было бы обойтись и опцией "maxfail 0" и ей подобными, но, тогда, мы не сможем выйти в инет. дефолтный маршрут скинется на шлюз vpn и мы не увидим локалку. 8. Нужна критика. Это схема, но она работает. 9. Вопрос. Как перезапускать сервисы в этой ОС? К примеру, cron. Или cups. На Linux, это все в /etc/init.d, или в /etc/rc.d А как здесь? 10. Будьте внимательны. | Всего записей: 2490 | Зарегистр. 08-11-2003 | Отправлено: 17:38 17-06-2007 | Исправлено: dariusii, 00:03 18-06-2007 |
|