Перенос FreeBSD с одного жёсткого диска на другой
07.01.2010 22:20
Администратор
Перенос FreeBSD с одного жёсткого диска на другой
Автор: lissyara. Оригинал: http://www.lissyara.su/articles/freebsd/trivia/move_system_between_hard_drives/
Появилась необходимость перенести работающую систему - почтовый сервер (FreeBSD4.11) с одного диска на другой. На старом был массив, софтверный RAID организованный при помощи atacontrol, и в нём отдуплился один диск. Такого же не было, купили два новых, большего размеру, посему на тестовой машине поставил эксперимент по переносу меньшего диска на больший. Его листинг и выкладываю, с комментариями. Имеем один диск в системе:/usr/home/lissyara/>df -h Filesystem Size Used Avail Capacity Mounted on /dev/ad0s1a 504M 72M 391M 16% / /dev/ad0s1e 2.0G 14K 1.8G 0% /tmp /dev/ad0s1f 20G 3.7G 14G 21% /usr /dev/ad0s1g 5.1G 6.1M 4.6G 0% /var procfs 4.0K 4.0K 0B 100% /proc
/usr/home/lissyara/>dmesg | grep "^[a][t|d][a|0-9]" atapci0: <VIA 8235 ATA133 controller> port 0xfc00-0xfc0f at device 17.1 on pci0 ata0: at 0x1f0 irq 14 on atapci0 ata1: at 0x170 irq 15 on atapci0 ad0: 29325MB <Maxtor 6E030L0> [59582/16/63] at ata0-master UDMA133 /usr/home/lissyara/>
После установки второго на второй канал ATA получаем:/usr/home/lissyara/>dmesg | grep "^[a][t|d][a|0-9]" atapci0: <VIA 8235 ATA133 controller> port 0xfc00-0xfc0f at device 17.1 on pci0 ata0: at 0x1f0 irq 14 on atapci0 ata1: at 0x170 irq 15 on atapci0 ad0: 29325MB <Maxtor 6E030L0> [59582/16/63] at ata0-master UDMA133 ad2: 190782MB <ST3200822A> [387621/16/63] at ata1-master UDMA100 /usr/home/lissyara/>
Диск разбиваем при помощи /stand/sysinstall, можно руками - но это не для слабонервных, я делал один раз в жизни, но впечатлений хватило надолго. Не забываем сделать раздел активным (загрузочным)! Прикол в следующем, если для будущего корневого раздела, поставить точку монтирования отличную от "/" то он не присваивает разделу букву "a". Нужно проделать такие комбинации - установить при создании раздела точку монтирования "/", затем поменять её клавишей "M". Disk: ad2 Partition name: ad2s1 Free: 389668226 blocks (190267MB)
Part Mount Size Newfs Part Mount Size Newfs ---- ----- ---- ----- ---- ----- ---- ----- ad2s1a / 512MB UFS Y
Получится так:Disk: ad2 Partition name: ad2s1 Free: 389668226 blocks (190267MB)
Part Mount Size Newfs Part Mount Size Newfs ---- ----- ---- ----- ---- ----- ---- ----- ad2s1a /mnt/root 512MB UFS Y
Потом второй прикол, то, что если сразу все разделы настругать, то он не разобьёт диск, ругнётся на какую-то ошибку. Посему, записываем изменения буковкой "W", выходим, заходим снова в /stand/sysinstall и делаем остальные разделы. Получается примерно так (корневой раздел не надо по второму разу монтировать, он уже разбит и смонтирован)Disk: ad2 Partition name: ad2s1 Free: 0 blocks (0MB)
Part Mount Size Newfs Part Mount Size Newfs ---- ----- ---- ----- ---- ----- ---- ----- ad2s1a <none> 512MB UFS Y ad2s1b swap 2048MB SWAP ad2s1e /mnt/tmp 2048MB UFS+S Y ad2s1f /mnt/usr 153600MB UFS+S Y ad2s1g /mnt/var 32571MB UFS+S Y
Снова сохраняем изменения нажатием "W", выходим, и имеем такой расклад:/usr/home/lissyara/>df -h Filesystem Size Used Avail Capacity Mounted on /dev/ad0s1a 504M 72M 391M 16% / /dev/ad0s1e 2.0G 18K 1.8G 0% /tmp /dev/ad0s1f 20G 3.7G 14G 21% /usr /dev/ad0s1g 5.1G 6.2M 4.6G 0% /var procfs 4.0K 4.0K 0B 100% /proc /dev/ad2s1a 504M 2.0K 464M 0% /mnt/root /dev/ad2s1e 2.0G 2.0K 1.8G 0% /mnt/tmp /dev/ad2s1f 148G 2.0K 136G 0% /mnt/usr /dev/ad2s1g 31G 2.0K 29G 0% /mnt/var
Все названия записываем, или копируем экран. Перезагружаемся в однопользовательский режим, для чего надо жмякнуть `ESC` на отсчёте 10 секунд, и ввести:boot -s
После загрузки монтируем разделы, описанные в /etc/fstab, такой командой:# mount -a
Затем монтируем разделы, на которые будем копировать инфу (например /tmp монтировать не обязательно, обычно там ничё нету, и вообще он при перезагрузках у меня очищается.)# mount /dev/ad0s1a /mnt/root # mount /dev/ad2s1f /mnt/usr # mount /dev/ad2s1g /mnt/var
После чего дампим инфу и переносим (каюсь, я это делал не в однопользовательском режиме, - лень было переписывать все команды руками, да и система не боевая, на рабочем серваке тоже буду делать в однопользовательском) # ( dump -0f - / ) | ( cd /mnt/root ; restore -rf - ) DUMP: Date of this level 0 dump: Thu Aug 10 17:59:02 2006 DUMP: Date of last level 0 dump: the epoch DUMP: Dumping /dev/ad0s1a (/) to standard output DUMP: mapping (Pass I) [regular files] DUMP: mapping (Pass II) [directories] DUMP: estimated 74881 tape blocks. DUMP: dumping (Pass III) [directories] DUMP: dumping (Pass IV) [regular files] expected next file 21899, got 21898 DUMP: DUMP: 75574 tape blocks DUMP: finished in 11 seconds, throughput 6870 KBytes/sec DUMP: DUMP IS DONE # # # # ( dump -0f - /var ) | ( cd /mnt/var ; restore -rf - ) DUMP: Date of this level 0 dump: Thu Aug 10 17:59:25 2006 DUMP: Date of last level 0 dump: the epoch DUMP: Dumping /dev/ad0s1g (/var) to standard output DUMP: mapping (Pass I) [regular files] DUMP: mapping (Pass II) [directories] DUMP: estimated 6638 tape blocks. DUMP: dumping (Pass III) [directories] DUMP: dumping (Pass IV) [regular files] DUMP: DUMP: 7512 tape blocks DUMP: finished in 5 seconds, throughput 1502 KBytes/sec DUMP: DUMP IS DONE # # # # ( dump -0f - /usr ) | ( cd /mnt/usr ; restore -rf - ) DUMP: Date of this level 0 dump: Thu Aug 10 17:59:55 2006 DUMP: Date of last level 0 dump: the epoch DUMP: Dumping /dev/ad0s1f (/usr) to standard output DUMP: mapping (Pass I) [regular files] DUMP: mapping (Pass II) [directories] DUMP: estimated 3957963 tape blocks. DUMP: dumping (Pass III) [directories] DUMP: dumping (Pass IV) [regular files] DUMP: 61.22% done, finished in 0:03 DUMP: 99.59% done, finished in 0:00 DUMP: DUMP: 4080794 tape blocks DUMP: finished in 636 seconds, throughput 6416 KBytes/sec DUMP: DUMP IS DONE #
Если разделы совпадают, по названиям, то ничё не делаем, если же не совпадают то вначале правим файл /etc/fstab. После чего даём такие команды:# sync # umount /mnt/root/ # umount /mnt/usr/ # umount /mnt/var/ # shutdown -h now
Выключаем питание, убираем старый хард, на его место подрубаем новый. Загружаемся. Смотрим, чё получилось:/usr/home/lissyara/>df -h Filesystem Size Used Avail Capacity Mounted on /dev/ad0s1a 504M 72M 391M 16% / /dev/ad0s1e 2.0G 10.0K 1.8G 0% /tmp /dev/ad0s1f 148G 3.8G 132G 3% /usr /dev/ad0s1g 31G 6.8M 29G 0% /var procfs 4.0K 4.0K 0B 100% /proc /usr/home/lissyara/>
Всё нормально. У меня корректно перенеслось всё даже в многопользовательском режиме, но это тестовая машина, и хотя на ней стит куча ПО, с ней кроме меня никто не работает. Посему не надо на рабочих серваках так делать. Надо в однопользовательском!
Обновлено 28.05.2010 13:17
|
Редирект порта с гейта на внутреннюю машину (natd)
07.01.2010 22:18
Администратор
Редирект порта с гейта на внутреннюю машину (natd)
Автор: lissyara. Оригинал: http://www.lissyara.su/articles/freebsd/trivia/natd_redirect_port/
Понадобилось выпустить локальную машину по одному из портов в инет (www сервер, но, ввиду занятости 80 порта, снаружи он будет на 81-м. А вообще народ это юзает для всяких edonkey и прочего хламу). Гейт на FreeBSD6.0 - на нём уже стоял natd - народу из локалки надо же лазить в инет. Почитавши man natd, конкретно, раздел про redirect_port, стало ясно - сложностей особых нету. Для начала, для собственного удобства, решил переделать запуск natd - у меня он стартовал из /etc/rc.conf с указанием в виде флагов всех ключей запуска. Неудобно - а если завтра понадобится ещё на 5-ти машинах подобное мутить? Там строка запуска в километр будет. Итак. Приводим /etc/rc.conf к такому состоянию (показан кусок касающийся тока natd):# NATD natd_enable="YES" natd_flags="-f /etc/natd.conf"
ну и создаём указанный файл, такого содержания:# Интерфейс на котором работает natd (внешний) interface rl0 # Пробовать оставить тот же самый порт у исходящих пакетов. # При таком флаге лучше работают протоколы типа RPC. Если это # невозможно то порт будет изменён. same_ports # nat`ить только частные сети (у вас же внутри частная сеть?) unregistered_only # самое интересное - то, ради чего все и затевалось. # Редиректим пакеты по протоколу tcp, приходящие на внешний порт # 81 на машину с адресом 192.168.20.251 и на 80-й порт. redirect_port tcp 192.168.20.251:80 81
Заметтьте в файле используется не краткая а полная форма записи ключей. Потом перезапускаем машину (или убиваем natd и запускаем с командной строки с нужными ключами-файлами), интернет должен работать как и работал, а вот при попытке зайти на 81 порт - скорей всего будет облом. Файрволл. Я убил минут 30 пока понял почему оно работате так и только так:${FwCMD} add allow tcp from any to 192.168.20.251 80 via ${LanOut}
Видать, пакеты в nat попадают ещё до файрволла, потому и приходится изгаляться с разрешением внутреннего адреса на внешнем интерфейсе (Вообще, если вдаваться в подробности - то пакеты через файр проходят неоднократно, и на каком из заходов действует это правило - я не знаю :() Вот тока после этого и заработало.
Обновлено 28.05.2010 13:18
burncd - штатная программа FreeBSD для записи CD-ROM
07.01.2010 22:14
Администратор
burncd - штатная программа FreeBSD для записи CD-ROM
Автор: lissyara. Оригинал: http://www.lissyara.su/articles/freebsd/trivia/burncd/
В составе FreeBSD есть консольная программа для записи дисков burncd (причём, я так думаю, половина ГУЁ`вых, если не больше приложений - это просто надстройка над ней). Собственно - первый резонный вопрос - а зачем это надо? Мне понадобилось недавно - упали форточки на моей домашней машине - а дома, как на зло, ни одного загрузочного сидюка - все на работе. Зато стоит вторая машина с фряхой, на ней все дистрибутивы, iso`шники... Тока ГУИ нет - она у меня для опытов, да как файрволл - от локалки отделиться - там дофига народу с машинами заражёнными вирями - долго без файрволла не поторчишь, плюс малолетняя братва развлекается - пытается сломать всё что есть :((( Поехали. Смотрим, нашёлся ли сидюк вообще:/usr/home/lissyara/>dmesg | grep CD acd0: CD-RW <TEAC DW-552G> at ata1-master PIO4 /usr/home/lissyara/>
Нашёлся. Правда у меня комбо привод - DVD читает, CD - пишет, да и PIO4 почему-то а не UDMA... Ну да посмотрим. Для начала стираем диск (RW):/usr/home/lissyara/>burncd -f /dev/acd0c -v -s 10 blank blanking CD, please wait.. blanking CD - 14 % done blanking CD - 37 % done blanking CD - 100 % done /usr/home/lissyara/>
Ключик -s 10 - это для указания скорости. Также можно стирать диск полностью - это, по времени дольше, но лучше:/usr/home/lissyara/>burncd -f /dev/acd0c -v -s max erase erasing CD, please wait.. erasing CD - 12 % done erasing CD - 25 % done erasing CD - 100 % done /usr/home/lissyara/>
Записываем образ на диск:/usr/home/lissyara/>ls -lah | grep iso -rw-r--r-- 1 lissyara wheel 43M 26 дек 17:41 6.0-RELEASE-i386-bootonly.iso -rw-r--r-- 1 lissyara wheel 679M 27 дек 10:03 iNFR_XP_boot_CD.iso /usr/home/lissyara/>burncd -v -s max -f /dev/acd0c data iNFR_XP_boot_CD.iso fixate adding type 0x08 file iNFR_XP_boot_CD.iso size 695414 KB 347707 blocks next writeable LBA 0 addr = 0 size = 712103936 blocks = 347707 writing from file iNFR_XP_boot_CD.iso size 695414 KB written this track 4832 KB (0%) total 4832 KB written this track 222816 KB (32%) total 222816 KB written this track 695414 KB (100%) total 695414 KB fixating CD, please wait.. /usr/home/lissyara/> /usr/home/lissyara/>mount /cdrom /usr/home/lissyara/>ls -lah /cdrom total 1687 dr-xr-xr-x 1 root wheel 2K 16 май 2005 . drwxr-xr-x 17 root wheel 512B 5 дек 17:36 .. -r-xr-xr-x 1 root wheel 186B 10 апр 2005 autorun.inf dr-xr-xr-x 1 root wheel 2K 16 май 2005 bcdw -r-xr-xr-x 1 root wheel 6K 13 май 2005 bootcat.ini dr-xr-xr-x 1 root wheel 4K 16 май 2005 bootcd -r-xr-xr-x 1 root wheel 4K 15 май 2009 bootfont.bin -r-xr-xr-x 1 root wheel 2K 16 май 2005 bootsect.bin -r-xr-xr-x 1 root wheel 1M 28 май 2004 hiren6.ifr dr-xr-xr-x 1 root wheel 2K 16 май 2005 i386 -r-xr-xr-x 1 root wheel 216K 17 фев 2005 infr@_cd_cover.rar dr-xr-xr-x 1 root wheel 4K 16 май 2005 programs -r-xr-xr-x 1 root wheel 0B 15 май 2009 win51ip -r-xr-xr-x 1 root wheel 0B 15 май 2009 win51ip.sp1 -r-xr-xr-x 1 root wheel 0B 23 окт 2004 win51ip.sp2 -r-xr-xr-x 1 root wheel 196B 12 окт 2004 winbom.ini -r-xr-xr-x 1 root wheel 2K 21 апр 2004 xpsp2.bin /usr/home/lissyara/>umount /cdrom /usr/home/lissyara/>
Пишет :). Также диск можно стирать совсем (blank данные не трогает - тока заголовок трёт, а вот ключ erase трёт насовсем, но и времени на это уходит намного больше.):/usr/home/lissyara/>burncd -f /dev/acd0c -v -s max erase erasing CD, please wait.. erasing CD - 9 % done erasing CD - 100 % done /usr/home/lissyara/>
Что касается создания образов дисков в FreeBSD - для этого есть прога в портах, живёт она в /usr/ports/sysutils/cdrtools. Выглядеть это будет так:/usr/home/lissyara/>ls -lah | grep Win drwxr-xr-x 7 lissyara wheel 512B 27 дек 14:11 Win2003sp1_RUS_corp drwxr-xr-x 10 lissyara wheel 512B 27 дек 14:11 WinXPsp2_integr /usr/home/lissyara/>mkisofs -o Win2003sp1_RUS_corp.iso Win2003sp1_RUS_corp Using SCANS000.EXE;1 for Win2003sp1_RUS_corp/VALUEADD/MSFT/USMT/SCANSTATE_A.EXE (SCANSTATE.EXE) 1.63% done, estimate finish Tue Dec 27 14:22:13 2005 3.25% done, estimate finish Tue Dec 27 14:21:43 2005 ............................................................. 97.39% done, estimate finish Tue Dec 27 14:21:59 2005 99.02% done, estimate finish Tue Dec 27 14:22:00 2005 Total translation table size: 0 Total rockridge attributes bytes: 0 Total directory bytes: 497664 Path table size(bytes): 786 Max brk space used 639ac4 308039 extents written (601 MB) /usr/home/lissyara/> /usr/home/lissyara/>la -lah | grep Win drwxr-xr-x 7 lissyara wheel 512B 27 дек 14:11 Win2003sp1_RUS_corp -rw-r--r-- 1 lissyara wheel 601M 27 дек 14:22 Win2003sp1_RUS_corp.iso drwxr-xr-x 10 lissyara wheel 512B 27 дек 14:11 WinXPsp2_integr /usr/home/lissyara/>
Это простой диск, не загрузочный. Загрузочный будет чуть иначе:/usr/home/lissyara/>mkisofs -b xpboot.bin -no-emul-boot -boot-load-size 4 -r -o \ ? WinXPsp2_integr.iso WinXPsp2_integr/ Using SCANS000.EXE;1 for WinXPsp2_integr/VALUEADD/MSFT/USMT/SCANSTATE_A.EXE (SCANSTATE.EXE) Size of boot image is 4 sectors -> No emulation 1.75% done, estimate finish Tue Dec 27 14:48:39 2005 3.49% done, estimate finish Tue Dec 27 14:48:39 2005 ........................................ 97.67% done, estimate finish Tue Dec 27 14:49:23 2005 99.42% done, estimate finish Tue Dec 27 14:49:22 2005 Total translation table size: 2048 Total rockridge attributes bytes: 597929 Total directory bytes: 1269760 Path table size(bytes): 2642 Max brk space used 61e000 286674 extents written (559 MB) /usr/home/lissyara/>ls -lah | grep Win drwxr-xr-x 7 lissyara wheel 512B 27 дек 14:11 Win2003sp1_RUS_corp -rw-r--r-- 1 lissyara wheel 601M 27 дек 14:22 Win2003sp1_RUS_corp.iso drwxr-xr-x 10 lissyara wheel 512B 27 дек 14:11 WinXPsp2_integr -rw-r--r-- 1 lissyara wheel 559M 27 дек 14:55 WinXPsp2_integr.iso /usr/home/lissyara/>
Ну, пожалуй, по записи дисков всё. Самое главное - куда искать указал, кому надо что-то другое - сами найдут.
P.S. насколько я понял из манов - тот burncd что в 4-ке с DVD толи не работает, то ли эта возможность не афишируется, а вот в 6-ке уже есть специальные ключи для форматирования DVD-RW - значит точно пашет. Появится привод - попробую. А пока тока вот что нашёл.
Обновлено 28.05.2010 13:18
|
clri - утилита обнуления инод
07.01.2010 22:06
Администратор
clri - утилита обнуления инод
Автор: lissyara. Оригинал: http://www.lissyara.su/articles/freebsd/file_system/clri/
clri - утилита для удаления "невидимых" файлов (невидимость - это следствие ошибок файловой ситемы) Она забивает нулями первые 64 байта дескриптора файла - в итоге все остальные блоки файла определяются как потерянные, потому после clri надо запускать fsck /usr/home/lissyara/>su /usr/home/lissyara/>mount /dev/ad1s1a /mnt /usr/home/lissyara/>cd /mnt /mnt/>mkdir clri /mnt/>cd clri/ /mnt/clri/>touch 1.txt /mnt/clri/>touch 2.txt /mnt/clri/>touch 3.txt /mnt/clri/>ls -i 188417 1.txt 188418 2.txt 188419 3.txt /mnt/clri/>clri /dev/ad1s1a 188417 clri: /dev/ad1s1a: Operation not permitted /mnt/clri/>cd / //>umount /mnt //>clri /dev/ad1s1a 188417 clearing 188417 //>clri /dev/ad1s1a 188418 clearing 188418 //>clri /dev/ad1s1a 188419 clearing 188419 //>fsck /dev/ad1s1a ** /dev/ad1s1a ** Last Mounted on /mnt ** Phase 1 - Check Blocks and Sizes ** Phase 2 - Check Pathnames UNALLOCATED I=188417 OWNER=root MODE=0 SIZE=0 MTIME=Jan 1 03:00 1970 NAME=/clri/1.txt
REMOVE? [yn] y
UNALLOCATED I=188418 OWNER=root MODE=0 SIZE=0 MTIME=Jan 1 03:00 1970 NAME=/clri/2.txt
REMOVE? [yn] y
UNALLOCATED I=188419 OWNER=root MODE=0 SIZE=0 MTIME=Jan 1 03:00 1970 NAME=/clri/3.txt
REMOVE? [yn] y
** Phase 3 - Check Connectivity ** Phase 4 - Check Reference Counts ** Phase 5 - Check Cyl groups FREE BLK COUNT(S) WRONG IN SUPERBLK SALVAGE? [yn] y
SUMMARY INFORMATION BAD SALVAGE? [yn] y
BLK(S) MISSING IN BIT MAPS SALVAGE? [yn] y
241 files, 489 used, 1012502 free (38 frags, 126558 blocks, 0.0% fragmentation)
***** FILE SYSTEM WAS MODIFIED ***** //>mount /dev/ad1s1a /mnt //>cd /mnt/clri/ /mnt/clri/>ls /mnt/clri/>
Нужно пояснить, что файлики 1.txt, 2.txt, 3.txt - это для пробы, типа они и "неудаляются". Для просмотра номера инода файла пользуйтесь командой ls -i, или как вариант man fsdb.
Обновлено 28.05.2010 13:18
VPN по протоколу PPTP на PoPToP.
07.01.2010 21:36
Администратор
VPN по протоколу PPTP на PoPToP.
Автор: lissyara. Оригинал: http://www.lissyara.su/articles/freebsd/security/poptop/
Подкинули халтуру - надо организовать, чтобы люди могли из дома ходить в рабочую сетку, терминально работать с 1с, и прочие прелести :) Копание инета дало - форточки много чего поддерживают, но для данного случая подходил только протокол PPTP (мне не хотелось замутов с ключами, да и настройка виндовой части там сложней - а инструктировать тётеньку-заказчика не было никакого желания, т.к. она малость подтормаживала :)) PPTP (Point-to-Point Tunneling Protocol) — туннельный протокол типа точка-точка. Не самый удачный выбор, т.к. спецификация на него не была ратифицированна - он не считается настолько же безопастным протоколом как другие VPN протоколы - IPSec, например... Первым делом проверяем наличие псевдо-устройства tun и ppp в ядре - без них работать не будет.pseudo-device ppp 1 # Kernel PPP pseudo-device tun # Packet tunnel.
Если они закомментированы - раскомментируем и пересобираем ядро. Затем обновляем порты и устанавливаем PoPToP: /root/>cd /usr/ports/ /usr/ports/>make search name='poptop' Port: poptop-1.2.3 Path: /usr/ports/net/poptop Info: Windows 9x compatible PPTP (VPN) server Maint:
Этот e-mail адрес защищен от спам-ботов, для его просмотра у Вас должен быть включен Javascript
B-deps: expat-1.95.8_3 gettext-0.14.5 gmake-3.80_2 libiconv-1.9.2_1 R-deps: rc_subr-1.31_1 WWW: http://www.poptop.org/
/usr/ports/>cd /usr/ports/net/poptop /usr/ports/net/poptop/>make && make install && make clean
После инсталляции правим конфиг PoPToP до такого состояния: /usr/local/etc/pptpd.confoptions /etc/ppp/options.pptpd debug noipparam
debug - это только на время отладки, потом можно закомментровать. И не забудте noipparam - без неё работать не будет, сам наступил на эти грабли, ковырялся два дня, ползал по инету в поисках ответов на вопрос - что за ругань в логах на Warning: Label ipparam rejected -direct connection: Configuration label not found
а кончилось всё как всегда - надо было прочесть man на pptpd.conf :) Затем создаём/радактируем следующие файлы: /etc/ppp/ppp.confpptp: enable proxy # для работы внутри локальной сети # (позволяет делать запрося ARP, но только # в случае, если выдаваемый клиенту адрес # принадлежит этой сети) set dns 213.85.16.7 # адрес DNS set ifaddr 192.168.20.240 # внутренний адрес set timeout 300 # таймаут простоя до разрыва соединения # если 0 - то не рвётся вообще enable MSChapV2 # протокол по которому шифруемся set nbns 192.168.20.254 # WINS
/etc/ppp/options.pptpdproxyarp +MSChap-V2 mppe-128 mppe-stateless
/etc/ppp/ppp.secret# файлик с именами пользователей, паролями и IP адресами выдваемыми пользователям # User_Name User_Password User_IP_address lissyara 123 192.168.20.230 liss2 123 192.168.20.235
Собственно всё - добавляем строку в /etc/rc.conf и запускаем PoPToP:/etc/ppp/>echo 'pptpd_enable="YES"' >> /etc/rc.conf /etc/ppp/>/usr/local/etc/rc.d/pptpd.sh start Starting pptpd. /etc/ppp/>ps -axl | grep pptpd 0 4448 1 25 2 0 936 524 select Ss ?? 0:00.02 /usr/local/sbin/pptpd /etc/ppp/>sockstat | grep pptpd root pptpd 4448 6 tcp4 *:1723 *:* root pptpd 4448 5 dgram syslogd[120]:3 /etc/ppp/>
После чего надо разрешить порт 1723 в файрволле, траффик по интерфейсу tun0 и протокол GRE:allow tcp from any to me 1723 allow gre from any to any allow ip from any to any via tun0
Правила добавляем гдень-ть вверху файрволла. (НО! Если через машину ходит траффик изнутри сети - т.е. это шлюз, добавлять надо после NAT - иначе ничё не заработает, т.к. пакеты выпадут до трансляции адресов :)) Пробуем что получилось, для контроля смотрим логи, для чего расскомметируем строку в файле /etc/syslog.conf*.* /var/log/all.log
После чего создаём этот файл и перезапускаем syslogd:/root/>touch /var/log/all.log /root/>killall -1 syslogd /root/>tail -f /var/log/all.log Dec 4 13:53:45 lissyara syslogd: restart
Там и смотрим происходящее во время подключения. Не забудте после настройки закомментировать строку в syslog.conf и перезапустить syslogd. Настройка форточек проста до безобразия: Создаём новое соединение мастером, выбираем подключаться к сети на рабочем месте, вводим логин, пароль, IP или имя сервака и всё...
Обновлено 28.05.2010 13:36
|
|
|
|
Страница 2 из 5. |