Настройка тунельного vpn на freebsd

Если у вас есть свой сервачок/впска не особо загруженная задачами, почему бы не поднять на ней впн сервер для себя? Пригодится например при работе в открытых вайфай сетях что бы обезопасить свой трафик.

Впн будем поднимать типа pptp с использованием mpd5. Я бы не писал эту статью если бы не один затык — настроив по типовому примеру мпд, впн у меня подключался, но доступен был только сервер на котором этот самый впн стоит. А дело все в том, что нужно было еще настроить NAT на сервере.

Итак ставим mpd5:

cd /usr/ports/net/mpd5 && make install clean
echo 'mpd_enable="YES"' >> /etc/rc.conf
# Если не делали этого раньше, то еще это:
echo 'gateway_enable="YES"' >> /etc/rc.conf

В /usr/local/etc/mpd5/ переименовываем все файлы удаляя с них .sample

Конфиг mpd.conf:

startup:
    #set user foo bar admin
    #set user foo1 bar1
    set console self 127.0.0.1 5005
    set console open
    set web self 127.0.0.1 5006
    set web open
default:
    load pptp_server
pptp_server:
    set ippool add pool1 192.168.10.100 192.168.10.200
    # 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.10.1/32 ippool pool1
    set ipcp dns 8.8.8.8 8.8.4.4
    # 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
    # Внешний айпи
    set pptp self 1.1.1.1
    # Allow to accept calls
    set link enable incoming

После копирования проверьте что у вас не пробелы, а табы. Если это не так, удалите пробелы и замените их табами или просто уберите. Конфиг к этому чувствительный.

Вместо 1.1.1.1 задайте внешний айпи сервера — куда вы будете подключаться.

Далее, в mpd.secret задайте логины/пароли пользователей впна по примеру.

Настройка впна завершена. Запускайте.

service mpd5 start

Проверим еще айпи форвардинг.

sysctl -a | grep ip.forward
# если получили ответ net.inet.ip.forwarding: 0
# то выполняем
sysctl net.inet.ip.forwarding=1

После этого нужно настроить NAT. Делаем это с использованием ipnat:

Добавим следующее в /etc/rc.conf:

ipnat_enable="YES"
ipnat_program="/sbin/ipnat"
ipnat_rules="/etc/ipnat.rules"
ipnat_flags=""

И создадим файл /etc/ipnat.rules с таким содержимым:

map re0 from 192.168.10.0/24 to any -> 1.1.1.1/32

Где вместо 1.1.1.1 подставляете внешний айпи сервера. А вместо re0 — интерфейс на котором этот айпи висит. Посмотреть можно через команду ifconfig:

re0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=9b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM>
        ether 00:16:3e:bd:1b:fd
        inet 1.1.1.1 netmask 0xffffff00 broadcast 212.71.10.255
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active

Все готово, запускаем ipnat и пробуем подключаться к впн.

service ipnat start

Если все ок, то после подключения впн у вас должен работать инет и айпи быть тот же что у сервера. Проверить можете например зайдя на 2ip.ru. Для мак оси нужно кстати в дополнительных настройках впн подключения поставить галочку что бы пробрасывать весь трафик через впн соединение. По умолчанию это выключено.

P.S. впн такого типа можно настроить так же най айфонах/айпадах для тех же целей.

Карта перекрытых улиц в дни проведения Евро в Харькове

Собственно про порядок перекрытия/пропуска автомобилей в дни евро почитать можно, например тут.

А я же просто для наглядности набросал на карте черты перекрытой территории.

Dropbox — теперь можно расшарить любой файл или папку.

В последнем обновлении популярного сервиса облачного хранения файлов — DropBox появилась возможность дать ссылку любому человеку на скачивание файла или просмотр/скачивание папки.

Ранее такая функциональность была доступна только для файлов которые находились в папке public, а вот сейчас это стало доступно любому файлу.

Что бы получить ссылку нужно на выбранной папке или файле нажать правой кнопкой мыши и выбрать пункт dropbox -> Get link.

После чего откроется браузер и там будет ссылка которую и можно отправить любому человеку, даже если он не пользуется дропбоксом.

Так что, присоединяйтесь и получите 2500Мб для своих файлов.

RSync — классная штука.

Хотел просто поделиться радостью от работы с утилитой rsync.

Очень удобно, например, для релиза проекта. Сначала подготавливаете на локальной машине нужные файл, как вы это будете делать это уже зависит от стиля разработки. А потом запускаете rsync что бы закинуть файлы на удаленную машину. При этом еще настраиваете авторизацию ssh по ключу (что бы не вводить пароль каждый раз) и все происходит по одному запуску скрипта.

Можно так же настроить исключения файлов, которые не нужно закидывать на удаленную машину и всякие другие плюшки.

Только  надо помнить что на удаленной машине тоже должен быть установлен rsync. Это меня несколько огорчило, но пока проблем не доставило, но вообще возможно доставит.

Такие пироги.

Dropbox увеличивает место за рефералов вдвое!

Спешите зарегистрироваться в замечательном сервисе дропбокс! При регистрации по ссылке с этого блога вы получаете 2.5Гб (вместо 2гб по прямой ссылке) сразу и абсолютно бесплатно.

Дропбокс изменили правила начисления места за привлеченных рефералов. Теперь за каждого приглашенного вами пользователя и вы, и приглашенный вами получит не 250Мб, как раньше, а 500!

Раньше такая фишка была доступна только аккаунтам которые подтвердили что они студенты (нужно иметь домен в зоне edu, хотя я через саппорт получил такой акк и на домен *.edu.ua) .

Единственно, было бы круто если бы для тех, у кого аккаунт EDU тоже увеличили место в два раза, но это наверное слишком затратно для них будет :-)

Хотя посмотрим, вдруг повезет.