Фев 142018
 

Странно что я не добавил запись о IPNat’е, хотя на многих серверах с небольшой нагрузкой его использую.

Начиная с 10-й ветки FreeBSD IPNat работает только с поддержкой IPV6 в ядре.

Для работы IPNat добавляем в rc.conf следующие строки.

# IPNat 
ipnat_enable="YES"
ipnat_program="/sbin/ipnat -CF -f"
ipnat_rules="/etc/ipnat.rules"


Сам файл <strong>ipnat.rules</strong>


map em0 (внешний интерфейс) Local IP -> WAN IP

map em0 (внешний интерфейс) Local IP -> WAN IP proxy port ftp ftp/tcp

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

rdr em0 WAN IP port 1234 -> Local IP port 1234

Перезапус IPNat после редактирования правил.

ipnat -CF -f /etc/ipnat.rules

На этом всё =)

Фев 102018
 

Если мне не изменяет память, начиная с 10-й ветки FreeBSD немного изменилась логика в настройке OpenVpn.

На старой работе был сервер под FreeBSD 8.1 вроде, для этих целей, сейчас же понадобилось поднять на FreeBSD 11.1.

И так, имеем FreeBSD 11.1

FreeBSD ***.kiev.ua 11.1-STABLE FreeBSD 11.1-STABLE #0 r328830: Sat Feb  3 19:26:16 EET 2018     root@***.kiev.ua:/usr/obj/usr/src/sys/AMG  amd64

OpenVpn собираю с такими опциями

 make showconfig
===> The following configuration options are available for openvpn-2.4.4:
     DOCS=on: Build and/or install documentation
     EASYRSA=on: Install security/easy-rsa RSA helper package
     EXAMPLES=on: Build and/or install examples
     LZ4=on: LZ4 compression support
     PKCS11=on: Use security/pkcs11-helper
     SMALL=off: Build a smaller executable with fewer features
     TEST=on: Build and/or run tests
     TUNNELBLICK=off: Tunnelblick XOR scramble patch (READ HELP!)
     X509ALTUSERNAME=on: Enable --x509-username-field (OpenSSL only)
====> SSL protocol support: you have to select exactly one of them
     OPENSSL=on: SSL/TLS support via OpenSSL
     MBEDTLS=off: SSL/TLS via mbedTLS
===> Use 'make config' to modify these settings

После сборки OpenVpn переходим к настройкам.

mkdir /usr/local/etc/openvpn

Continue reading »

Фев 022018
 

Взял себе новый VPS, залили мне на него мою любимую FreeBSD, но хостнейм меня не привелкал вообще =)

[root@vm227775 /var/mail]# hostname
vm227775.***.***

Мне этот VPS необходим под хостинг, почту и еще по мелочи, где хостнейм имеет не последнюю роль. Да и перезагружать сервер не сильно хотелось, так как софт компилиться =)

Сначала мы меняем хостнейм в rc.conf

hostname="указываем хостнейм" 

Далее прописываем хостнейм в /etc/hosts

127.0.0.1               указываем хостнейм

И на последок делаем следующее

hostname указываем хостнейм

Перепроверяем командой hostname, в ответ мы получим новое имя хоста машины.
Все.

Дек 272017
 

Заметка больше всего для себя.

ifconfig vlan304 create
ifconfig vlan304 vlan 304 vlandev re0

Или же одной командой

ifconfig vlan304 create vlan 304 vlandev re0 up

cloned_interfaces="vlan304 vlan500 vlan4000"
ifconfig_vlan304="inet x.x.x.x/24 vlan 304 vlandev re0 mtu 1500"
ifconfig_vlan500="inet x.x.x.x/28 vlan 500 vlandev re0 mtu 1500"
ifconfig_vlan4000="inet x.x.x.x/30 vlan 4000 vlandev re0 mtu 1500"
ifconfig_re0="up mtu 1504"

Вот собственно и все.

Авг 302017
 

Что то не заладилось у меня с моим почтовиком )))

svn checkout svn://svn.freebsd.org/base/release/11.1.0 /usr/src
Skipped 'usr.bin' -- Node remains in conflict
Skipped 'release' -- Node remains in conflict
Skipped 'secure' -- Node remains in conflict
Skipped 'gnu' -- Node remains in conflict
Skipped 'tools' -- Node remains in conflict
Skipped 'kerberos5' -- Node remains in conflict
Skipped 'tests' -- Node remains in conflict
Skipped 'share' -- Node remains in conflict
Skipped 'usr.sbin' -- Node remains in conflict
Skipped 'lib' -- Node remains in conflict
Skipped 'bin' -- Node remains in conflict
Skipped 'crypto' -- Node remains in conflict
Skipped 'include' -- Node remains in conflict
Skipped 'sbin' -- Node remains in conflict
Skipped 'contrib' -- Node remains in conflict
Skipped 'Makefile.inc1' -- Node remains in conflict
Skipped 'cddl' -- Node remains in conflict
Skipped 'ObsoleteFiles.inc' -- Node remains in conflict
Skipped 'targets' -- Node remains in conflict
Skipped 'libexec' -- Node remains in conflict
Skipped 'UPDATING' -- Node remains in conflict
Skipped 'etc' -- Node remains in conflict
Skipped 'sys' -- Node remains in conflict
load: 0.34  cmd: svn 92737 [sbwait] 10.48r 0.57u 0.95s 6% 13072k
Checked out revision 323018.

Continue reading »

Авг 302017
 

Имеем систему

FreeBSD mail.**** 11.0-RELEASE-p1 FreeBSD 11.0-RELEASE-p1 #1 r308123M: Tue May 16 10:56:22 EEST 2017     slik@mail.****:/usr/obj/usr/src/sys/MAIL  amd64

Система крутиться в качестве почтового сервера предприятия.
Пришло время немного обновить систему, софт и все остальное.

При каждодневной рассілке получал список требуемого обновления софта, когда список стал приличнім, біло решено действовать.
Continue reading »

Апр 022014
 

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

 uname -a
FreeBSD slik.loc 9.2-RELEASE FreeBSD 9.2-RELEASE #1: Tue Feb 18 12:08:12 EET 2014     slik@slik.loc:/usr/obj/usr/src/sys/SLIK  i386

Приступаем к установке openvpn

cd /usr/ports/security/openvpn/ && make install clean

После установки OpenVPN приступаем к конфигурации.

cd /usr/local/share/doc/openvpn/easy-rsa/2.0/

Для начала сделаем правку в файле vars, приводим его к такому состоянию.

# Меняем export KEY_DIR="$EASY_RSA/keys" на
export KEY_DIR="$EASY_RSA/keys/server"
# меняем export KEY_SIZE=1024 на 2048
# (увеличим размер ключей с 1024 бит до 2048 бит)
export KEY_SIZE=2048

Немного поправим права на скрипты.

chmod 544 *

Создадим директорию для хранения ключей и сертификатов

mkdir -p keys/server

Запускаем shell

#sh
#. ./vars

Нам сказали что необходимо все почистить в папке server, что мы и делаем.
Один очень важный момент, команда ./clean-all удаляет все ранее созданные ключи и сертификаты, будьте осторожны!

./clean-all

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

# ./build-ca
Generating a 2048 bit RSA private key
......................................................................................+++
....................+++
writing new private key to 'ca.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [US]:UA
State or Province Name (full name) [CA]:Kyiv
Locality Name (eg, city) [SanFrancisco]:Kyiv
Organization Name (eg, company) [Fort-Funston]:server
Organizational Unit Name (eg, section) [changeme]:server
Common Name (eg, your name or your server's hostname) [changeme]:server
Name [changeme]:
Email Address [mail@host.domain]:admin@slik45.kiev.ua
#

Continue reading »

Фев 172014
 

Про обновление FreeBSD много где написано, в том же хендбуке. Но…хочется иногда убрать *воду* из описание и подсматривать только основные моменты. И так приступим.
Версия моей системы на данный момент

FreeBSD slik45.kiev.ua 9.2-RELEASE FreeBSD 9.2-RELEASE #0 r255985: Wed Oct  2 05:59:14 UTC 2013     root@reotest2.reotest:/usr/obj/usr/src/sys/GENERIC  i386

Систему поставил 2 недели назад, старая была 9.1, там посыпался системный винт, рейда не было и нет, так как это домашний роутер + тестовая машина для пары сайтов.

Для начала нам необходимо обновить исходные коды системы.
Переходим в директорию

cd /usr/share/examples/cvsup/
# ls -ll
total 24
-r--r--r--  1 root  wheel  1136 Sep 27 07:02 README
-r--r--r--  1 root  wheel  3390 Sep 27 07:02 cvs-supfile
-r--r--r--  1 root  wheel  2108 Sep 27 07:02 gnats-supfile
-r--r--r--  1 root  wheel  3164 Sep 27 07:02 stable-supfile
-r--r--r--  1 root  wheel  2855 Sep 27 07:02 standard-supfile

Укажем необходимую нам версию FreeBSD
В файле конфигурации по умолчанию видим следующие

 cat standard-supfile|grep defa
*default host=CHANGE_THIS.FreeBSD.org
*default base=/var/db
*default prefix=/usr
*default release=cvs tag=RELENG_9
*default delete use-rel-suffix
*default compress

Копируем и немного правим файл
Continue reading »

Фев 192013
 

Я не буду описывать всех прелестей OpenVPN, так как многие и так все знают. В этой статье я расскажу о настройке OpenVPN при помощи Webmin.
На предприятии где я сейчас работаю имеется 3 офиса, разбросаны они по нашей стране, так же есть еще региональные сотрудники которым необходим доступ к 1С и остальным ресурсам компании. Таких сотрудников около 50, сейчас стала задача заменить всем сотрудникам ключи. Руками это все делать долго и отнимет очень много времени. И так приступим.
Имеем установленную систему

uname -a
FreeBSD gw 9.1-RELEASE FreeBSD 9.1-RELEASE #0: Sat Feb 16 10:25:34 EET 2013     slik@gw:/usr/obj/usr/src/sys/GW  amd64

с уже установленными пакетами

openvpn-2.3.0_3     Secure IP/Ethernet tunnel daemon
webmin-1.620        Web-based interface for system administration for Unix

Скачиваем вложение openvpn-2.5.wbm.gz (доступно для скачивания на форуме) это модуль для управления OpenVPN через Webmin
Далее заходим по адресу вашей машины http://you_ip:10000 и вводим пароль который вы указали при установке Webmin
Далее переходим в Webmin/Webmin Configuration, выбираем Webmin Modules

Continue reading »

Фев 082013
 

Начииная с 7-й ветки в FreeBSD появилась TMPFS, она портированна с NetBSD. Приступим к настройке.
Есть два способа ее включить, первый собрать ядро с поддержкой tmpfs добавляя в конфигурационный файл ядра опцию

options TMPFS

Второй способ, загрузить модулем.

echo 'tmpfs_load="YES"'>> /boot/loader.conf

Далее правим наш fstab

#/dev/ada2d     /tmp            ufs     rw,userquota,groupquota         2       2
tmpfs           /tmp            tmpfs   rw,mode=01777,size=2147483648   0       0

После перезагрузки системы проверяем.

tmpfs           2.0G     16k      2G     0%    /tmp

При ручном монтировании раздела команда будет выглядеть так

mount -t tmpfs -o mode=01777,size=2147483648 tmpfs /tmp

Где размер раздела равен 2 гб.
Tmpfs дает ощутимый прирост при больших нагрузках, если очень много временных файлов хранится в разделе /tmp, ранее раздел располагался на жестком диске, сейчас же в оперативной памяти, что дает больший прирост при чтении и записи.