Поиск по этому сайту

пятница, 16 июня 2017 г.

Квест ДНС для Bind9 Raspbian 8

МикроКвест ДНС для Bind9 Raspbian 8
--------------------------------------
Если надо активировать супер пользователя просто назначаем ему пароль
passwd root

Если не входит по ssh при правильных настройках то переконфигурируем
sudo rm /etc/ssh/ssh_host_* && sudo dpkg-reconfigure openssh-server

Настроим отключим лишнее включим нужное:
raspi-config

Если нет дшцп сервера то до того как вставить флешку в микрокомпьютер добавить строку через пробел в фаил cmdline.txt после слова rootwait

ip=192.168.0.200::192.168.0.1:255.255.255.0:rpi:eth0:off

Настроим статический адрес
nano /etc/network/interfaces

iface eth0 inet static
    address 192.168.0.155
    netmask 255.255.255.0
    gateway 192.168.0.1
    dns-nameservers 127.0.0.1

Обновимся и перезагрузимся
apt-get update && apt-get upgrade -y && reboot

Установим сервер имен и проч утилиты.
apt-get -y install bind9 dnsutils mc vim htop iftop screen

Пропишем пути файлов зон
vim /etc/bind/named.conf.local
и если создавали свои папки надо доступ к ним например создали папку "named"
chown bind:bind  /var/named

Пропишем опции сервера имён
vim /etc/bind/named.conf.options

Перезапустим и Проверим статус сервера имён
/etc/init.d/bind9 restart
/etc/init.d/bind9 status

Допишем статичные имена и адреса напрмер микрокомпьютера
vi /etc/hosts
127.0.0.1       localhost 200-pc 200-pc.domain.ru
::1             localhost ip6-localhost ip6-loopback 200-pc 200-pc.domain.ru
ff02::1         ip6-allnodes
ff02::2         ip6-allrouters
192.168.0.155 200-pc 200-pc.domain.ru
127.0.1.1       200-pc

Проверим где микрокомпьютер будет искать имя
cat /etc/resolv.conf
тут должен быть
# Generated by resolvconf
domain domain.ru
nameserver 127.0.0.1

Если у вас иначе даже после перезагрузки то посмотрим откуда беруться ноги
cat /etc/resolvconf.conf
и раскомментируем строку
name_servers=127.0.0.1

# Mirror the Debian package defaults for the below resolvers
# so that resolvconf integrates seemlessly.
dnsmasq_resolv=/var/run/dnsmasq/resolv.conf
pdnsd_conf=/etc/pdnsd.conf
unbound_conf=/var/cache/unbound/resolvconf_resolvers.conf

Перезапустимся и проверим
dig ya.ru && nslookup ya.ru
должно появится что-то подобное в конце:
Server:         127.0.0.1
Address:        127.0.0.1#53

Non-authoritative answer:
Name:   ya.ru
Address: 87.250.250.242
Это значит что ответил локальный сервер имён.

Также если необходимо можем настроить клиента dhcp сервера
vi /etc/dhcp/dhclient.conf

например раскомментируем строки:

prepend domain-name-servers 127.0.0.1;
lease {
  interface "eth0";
  fixed-address 192.168.0.155;
#  medium "link0 link1";
  option host-name "200-pc.domain.ru";
  option domain-search "domain.ru";
  option domain-name "domain.ru";
  option subnet-mask 255.255.255.0;
  option broadcast-address 192.168.0.255;
#  option routers 192.33.137.250;
  option domain-name-servers 127.0.0.1;
#  renew 2 2000/1/12 00:00:01;
#  rebind 2 2000/1/12 00:00:01;
#  expire 2 2000/1/12 00:00:01;
}
Перезапустить сеть
/etc/init.d/networking restart

Отключить dhcpd
 systemctl disable dhcpd

Проверим правила Iptables
 iptables -L -v -n

Сохраним правила Iptables TCPv4
iptables-save > /etc/iptables/rules.v4

Установить программу для управления iptables
apt-get install iptables-persistent
------------------------------------------------------
ОБЯЗАТЕЛЬНО!!! По умолчанию (default) все порты открыты для доступа! (ACCEPT) их надо закрыть кроме нужных типа 22 и 53 и похорошему порезать всё лишнее (DROP) в конце перед COMMIT.

вторник, 23 мая 2017 г.

Квест ДНС

Исходные данные:
хост XenServer 7, вм Centos 7, оперативная память 2gb, диск 10gb,
ip адреса: домен 192.168.1.87, днс1 192.168.1.88, днс2 192.168.1.89, днс3 192.168.1.90

Экспресс решение без отладки (не использовать на боевых серверах):
mount /dev/cdrom /media
mount /dev/cdrom /media
или
mount /dev/sr0 /media
cd /media/Linux
./install.sh
Y

ifup eth0

yum -y update && yum -y install epel-release
reboot
yum -y install bind* iptables-services vim
yum -y install authconfig krb5-workstation pam_krb5 /
samba-common oddjob-mkhomedir krb5-server /
krb5-libs realmd sssd sssd-tools adcli samba-winbind /
samba-winbind-clients

systemctl enable winbind.service
или
chkconfig winbind on

systemctl enable named.service
или
chkconfig named on

systemctl enable iptables.service
или
chkconfig iptables on

vi /etc/hosts

127.0.0.1       ns1.domain.local ns1 localhost.localdomain   localhost4      localhost4.localdomain4 localhost
::1     ns1.domain.local ns1 localhost.localdomain   localhost6      localhost6.localdomain6 localhost
192.168.1.88 ns1.domain.local ns1

vi /etc/sysconfig/named

OPTIONS="-4"

vi /etc/sysconfig/iptables

-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 53 -j ACCEPT
-A INPUT -p udp -m state --state NEW -m udp --dport 53 -j ACCEPT

systemctl stop firewalld
или
/etc/init.d/firewalld stop

systemctl disable firewalld
или
chkconfig firewalld off

vi /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0
HWADDR=4b:c1:e8:45:63:a2
TYPE=Ethernet
UUID=f4801836-64aa-45ba-ba0e-d1da4af5bcd3
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=none
USERCTL=no
PEERDNS=no
IPV6INIT=no
IPADDR=192.168.1.88
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=127.0.0.1
DOMAIN= domain.local

systemctl restart network.service
или
/etc/init.d/network restart
cat /etc/resolv.conf

search domain.local
nameserver 127.0.0.1

vim /etc/named.conf

listen-on port 53 { any; };
listen-on-v6 port 53 { any; };
allow-query     { any; };
allow-transfer  { any; };
allow-update    { any; };
dnssec-validation no
notify yes;
recursion yes;
database "dlopen /usr/lib64/samba/bind9/dlz_bind9_9.so";
zone "domain.local" IN {..................};
zone "1.168.192.in-addr.arpa" IN {................};
zone "a.b.a.b.a.b.a.b.a.b.a.b.0.0.c.f.ip6.arpa" IN {...........};
zone MSDNS .....;;;;;;

Создать файлы описания зон днс и дать права named на запись и чтение.

systemctl restart named.service
или
/etc/init.d/named restart

dig ya.ru
dig domain.local

systemctl status iptables.service -l
или
cat /var/named/data/named.run
reboot

nslookup ns1. 192.168.1.88
nslookup 192.168.1.89 192.168.1.88
nslookup ya.ru. 192.168.1.88
nslookup domain.local. 192.168.1.88

Далее приступаем к отладке и настройке. Файлы конфигурации зон нужны тока для master bind9, slave их синхронизирует в одну сторону, серийный номер при ручном изменении удобно записать ввиде YYYY/MM/DD HH:MM:SS например я только что внес изменения это номер 20170523180100, если вводить в домен МСДНС предварительно настроить синхронизацию времени. Для IPv6 localhost это ::1
------------------------------------------------------------

суббота, 20 мая 2017 г.

Достало

Вообщем после вылавливания кучи ошибок могу сделать вывод что стабильно работает только версия pidora r3 на rpi. Centos7 и Fedora25 постоянно падают, что то сыплется, исправления есть но их так недостаточно что перекрывает все положительные стороны сборок RHEL для RPI3. Использовать на данный момент не считаю целесообразным. Возможно в будущем компания обратит внимание на ARM устройства, на данный момент остается в нише для высоко нагруженных серверов и и виртуализации 64битных intel/amd систем. Сборки на Debian работают стабильно. Если сейчас (06.2017) выбираете ос для rpi3 то съекономьте время выбирайте из сборок на Debian.

среда, 17 мая 2017 г.

Настроить ДНС windows командная строка

Исходные данные:

Домашняя сеть, пк windows os подключен к роутеру с модемом 3g, скачана и включена программа тимвивер, id и пароль тимвивер известны.

Решение:

Запустить командную строку от имени администратора:
"WIN"+"R"
cmd.exe
Узнать имя сетевого интерфейса:
netsh interface ip show config
Установить адрес и шлюз
netsh interface ip set address "Ethernet 2" static 192.168.0.2 255.255.255.0 192.168.0.1
Установить основной сервер имён:
netsh interface ip set dnsservers "Ethernet 2" static 192.168.0.1
Добавить дополнительный сервер имён:
netsh interface ip add dnsservers "Ethernet 2" 77.88.8.8
netsh interface ip add dnsservers "Ethernet 2" 77.88.8.1
netsh interface ip add dnsservers "Ethernet 2" 2a02:6b8::feed:0ff
netsh interface ip add dnsservers "Ethernet 2" 2a02:6b8:0:1::feed:0ff

среда, 5 апреля 2017 г.

Переписка двух менеджеров (поколение 2000-х)

- Ты в c# как соображаешь?
- неа яж не программист
- это объектный язык, значит управляет объектами, есть готовые шаблоные и образцы Microsoft .NET Framework зачем с нуля писать?
- тебе что понятней было представь ввиде слоев или шестеренок
- 1 уровень железо, 2 уровень электричество, 3 уровень драйвер или микро ОС УЕФИ(бывший биос), 4 уровень ОС хоста, 5 уровень виртуальные контейнеры
- так вот четких границ по сути нет оно плавно перетекает из одного в другое
- теперь возьмем уровень "реализации" программы: её можно писать на любом уровне слоев
- всё зависит от предназначения (для кого она)
- если ей пользуются на уровне ОС хоста виндовс то C# как раз самое то
- но если ей пользуются любые пользователи на уровне виртуальных контейнеров, то есть платформа Net.Framework
- работая с платформой тебе не надо задумываться и прописывать скажем зависимости библиотек видеокарты для отображения окна, это всё уже прописано в виде C# и является частью платформы NET.fr
- означает что достаточно выполнить команду "вызвать окно" и оно появится
- в этом и прелесть объектных языков
- это как матрешка если аналог привести.
- можно конечно написать на Си и запустить программу прямо на уровне УЕФИ но кто этим будет пользоваться? и как сложно будет учесть все нужные библиотеки?
- Я на работе постоянно общаюсь с разработчиками платформы 1с предприятие. И почти все постоянно пытаются изобрести велосипед))) Хотя любая интеграция это всеголишь создание новой библиотеки в которой указаны как в переводчике команды в 1с = комнады в Пайтон. Таким образом мы теперь можем использовать любые программы на Пайтон из платформы 1с. И не надо изобретать велосипедов))
- Если есть деньги и нет времени то сайт фриланс.ру тебе в помощь
- Если нет денег то берешь букварь по C# и гугл все типовые случаи там описаны.
- Отдельно замечу что нетиповые это набор из множества типовых. Конструктор в своем роде, а создатель как художник лепит из него программы.