Навигация
Категории
Top Hьюсмекеров
zenj68
Репутация: 0
Пол: Мужчина
Новости: 5396
Miracle
Репутация: 5
Пол: Мужчина
Новости: 4494
Gunpowder
Репутация: 0
Пол: Мужчина
Новости: 4024
x7Post7x7x
Репутация: 7
Пол: Женщина
Новости: 2784
Magik
Репутация: 0
Пол: Мужчина
Новости: 2567
Рекламка
Тут ваша реклама
Помощь сайту
webmoney





Рекламодатели
Главная » »
Значит так, дело было летом, жара, на работе у нас обычная локалка, пров дал нам ADSL Router и он роутил на свич, свич же крутил сетку в диапазоне 192.168.1.1-192.168.1.254
На работе в углу лежал никому не нужный 64-х битный комп, жалко добро не используется, решили поставить его в виде сервака, но так как у нас не было выделенного айпи (он шел на железный ADSL Router), да и по чисто техническим причинам не хотелось переводит роутер в режим бриджа, ставить две сетевухи в машину с фрей и.т.д. пришлесь комп с новоустоновленной Фряхой поставить после свитча т.е. присвоеть ему IP из диапазона локалки.

Все было сделанно и комп с FreeBSD получил IP 192.168.1.254.

Для того чтобы с наруже я мог бы подключатся к компу по SSH юзать FTP и т.д. в железном ADSL роутере я сделал редирект всех портов на внутренний адрес (192.168.1.254).

Первым делом обновил сорсы, порты и все такое, настроил Apach+PHP+MySQL+pureFTPD (но в данной статье не об этом), все работало на ура, но встал вопрос - нам стало нужно из дома подключатся к нашей рабочей локальной сетке, и работать так же как будто бы мы просто физически находимся в той же сети, т.е. видеть шары, использовать Remote Desktop, следить с дома за своим компом и т.д.

Ясно, что нужно было настраивать VPN сервер, но проблема была в том что машина с фрей не была шлюзом, и имела IP 192.168.1.254 из диапазона локальной сетки. После настройки я долго не мог пинговать компы в сети и т.д. проблемы были с натом, я долго рылся, спрашивал на форумах и.т.д. пока смог исправить эту беду.

Вообщем начнем - для VPN-а решил использовать MPD5, 
mpd (Multi-link PPP daemon) примечателен тем, что в нём реализован VPN-сервер совместимый с Microsoft. т.е. в подключение с Windows к нашему, FreeBSD-серверу не будет никаких проблем, не нужно устанавливать дополнительный софт в виде VPN клиента.

Значить так, начнем, устонавливаем его из портов:/usr/ports# whereis mpd5
mpd5: /usr/local/sbin/mpd5 /usr/local/man/man8/mpd5.8.gz /usr/ports/net/mpd5
cd /usr/ports/net/mpd5; make && make install && make clean


После этого идем в /usr/local/etc/mpd5 создаем и правим конфиги:/usr/local/etc/mpd5# touch mpd.conf; touch mpd.links; touch mpd.secret


Далее правим конфиг mpd.conf:/usr/local/etc/mpd5# ee mpd.conf


И вставляем в него конфиг, это рабочий конфиг для моей сети, вам может придется поменять несколько параметров:startup:
  set user foo bar admin # Юзер с правами админа Логин: foo, Пароль: bar
  set user foo1 bar1
  set console self 127.0.0.1 5005 # Нужно чтобы подключится по телнету через 5005 порт
  set console open
  set web self 0.0.0.0 5006 # Нужно чтобы подключится по http через 5006 порт,
  set web open # к примеру http://127.0.0.1:5006/.
default:
  load pptp_server
pptp_server:
# Define dynamic IP address pool.
# Диапазон IP адрессов, 
# который присвоется VPN девайсу.
  set ippool add pool1 192.168.100.50 192.168.100.99  

# Create clonable bundle template named B
  create bundle template B
  set iface enable proxy-arp
  set iface idle 1800
  set iface enable tcpmssfix
  set ipcp yes vjcomp
# Specify IP address pool for dynamic assigment.
  set ipcp ranges 192.168.100.1/32 ippool pool1
  set ipcp dns 192.168.1.1
# The five lines below enable Microsoft Point-to-Point encryption
# (MPPE) using the ng_mppc(8) netgraph node type.
  set bundle enable compression
  set ccp yes mppc
  set mppc yes e40
  set mppc yes e128
  set mppc yes stateless
# Create clonable link template named L
  create link template L pptp
# Set bundle template to use
  set link action bundle B
# Multilink adds some overhead, but gives full 1500 MTU.
  set link enable multilink
  set link yes acfcomp protocomp
  set link no pap chap
  set link enable chap
  set link keep-alive 10 60
# We reducing link mtu to avoid GRE packet fragmentation
  set link mtu 1460
# Configure PPTP
# Внешний IP на котором будет прослушиватся соединение
  set pptp self 192.168.1.254
# Allow to accept calls
  set link enable incoming


Примечание: конфиг mpd строго не любит пробелы, так что позоботтесь об этом, вместо этого пользуйтесь табуляцией <TAB>.


Далее правим /usr/local/etc/mpd5/mpd.links:/usr/local/etc/mpd5# cat mpd.links
pptp0:
  set link type pptp


Примечание: у меня эти конфиги на одно подключение, если нужно больше то нужно добваить pptp1 pptp2 и т.д.

Теперь отредактируем /usr/local/etc/mpd5/mpd.secret:User1 123123
User2 321321


Где User1 и User2 это логин для первого и второго юзера ну и рядом соответствующие пароли.

Можно так-же прописать IP тогда конкретному пользователю будет выдаватся один и тот-же IP адресс например:User2 321321 192.168.100.90


Далее, чтобы MPD загружался автоматически при стартапе прописываем следующие строки в /etc/rc.conf:echo 'mpd_enable="YES"' >> /etc/rc.conf 
echo 'mpd_flags="-b"' >> /etc/rc.conf
echo 'gateway_enable="YES"' >> /etc/rc.conf


Чтобы у нас были логи нашего MPD, в файле /etc/syslog.conf в конце добавляем следующие строки:ee /etc/syslog.conf 
!mpd
*.* /var/log/mpd.log


Создадим этот файл и зададим ему права только на чтение root:/# touch /var/log/mpd.log
chmod 600 /var/log/mpd.log


Теперь перезагружаем syslog:/# /etc/rc.d/syslogd reload 


Далее нам нужно NAT-ить в файрволе, чтобы с 192.168.100.0.видеть 192.168.1.0, для этого используем файрвол pf, вообщето правильно компилить ядро с поддержкой pf, но для тестирования можно подгрузить его просто как модуль:/# kldload pf.ko


Для того чтобы модуль подгружался при стартапе в /etc/rc.conf добавляем:/# echo 'pf_enable="YES"' >> /etc/rc.conf


Теперь правим правила для файрвола /etc/pf.conf:/# ee /etc/pf.conf
nat on nfe0 from 192.168.100.0/24 to any -> 192.168.1.254
pass in all
pass out all


Загружаем правила файрвола и стартуем mpd:/# pfctl -f /etc/pf.conf

No ALTQ support in kernel
ALTQ related functions disabled

/# /usr/local/etc/rc.d/mpd5 start


Теперь можно наблюдать за логом и коннектится с винды:tail -f /var/log/mpd.log


Для того чтобы настроить клиента с Windows нужно зайти в:Control Panel -> Network Connections -> Create a New Connection -> 
Next -> Connect to the network at my workplace -> 
Next -> Virtual Private Network connection -> 
Next -> "Имя Соединения (Любое) " -> 
Next -> "Имя хоста или IP ADSL роутера" 
-> Finish


В принципе все, можно подключатся и наблюдать за логом, если все правильно то вы сможете шарить в своей рабочей сетке, заходить через ремот десктоп и т.д.




2024     21:24 21.05.2024     0
Всего комментариев: 0

Kомментарии
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]


Последние сообщения на форумах
Календарь
Реклама
Здесь может быть ваша реклама
Top 5 Коментаторов
lanx
Репутация: 211
Пол: Мужчина
Комментoв:  17
mars
Репутация: 0
Пол: Мужчина
Комментoв:  3
denis
Репутация: 0
Пол: Мужчина
Комментoв:  2
royss
Репутация: 2
Пол: Мужчина
Комментoв:  2
cube
Репутация: 28
Пол: Мужчина
Комментoв:  2
Кто с нами
Онлайн всего: 2
Гостей: 2
Пользователей: 0

Друзья сайта
Рекламодатели

Хостинг от uCoz