четвер, 17 листопада 2016 р.

MikroTik доступ до внутрішнього сервера

Проблема Є внутрішня мережа з сервером приєднаним до інтернету через MikroTik.
Зовнішня IP-адреса: AAA.BBB.CCC.DDD.
Внутрішня мережа: 192.168.88.0/24.
ІР-адреса серверу: 192.168.88.10.
Потрібно надати доступ ззовні до певних портів внутрішнього сервера.

Рішення
1) Надаємо доступ до внутрішніх портів іззовні:

General
  • Chain: dstnat
  • Protocol: 6 (tcp)
  • Dst. Port: 80,8083
  • Int. Interface: ether1
Action
  • Action: netmap
  • To Addresses: 192.168.88.10

2) Перенаправляємо запити з внутрішньої мережі до зовнішньої адреси на внутрішнью адресу:

General
  • Chain: dstnat
  • Src. Address: 192.168.88.0/24
  • Dst. Address: AAA.BBB.CCC.DDD
  • Protocol: 6 (tcp)
  • Dst. Port: 80,8083
Action
  • Action: dst-nat
  • To Addresses: 192.168.88.10

3) Підмінюємо адресу внутрішніх запитів на адресу роутера:

General
  • Chain: srcnat
  • Src. Address: 192.168.88.0/24
  • Dst. Address: 192.168.88.10
  • Protocol: 6 (tcp)
  • Dst. Port: 80,8083
Action
  • Action: src-nat
  • To Addresses: 192.168.88.1

Доступ для SSH з внутрішньої мережі не забезпечуємо:

General
  • Chain: dstnat
  • Protocol: 6 (tcp)
  • Dst. Port:2222
  • In. Interface: ether1
Action
  • Action:netmap
  • To Addresses: 192.168.88.10
  • To Ports: 22

неділю, 21 серпня 2016 р.

При черговому оновленні з’явилось попередження:
Reading package lists... Done
W: GPG error: http://nginx.org wheezy Release: 
The following signatures were invalid: KEYEXPIRED 1471427554

Це ключ nginx-а, - його оновлення:
wget https://nginx.org/keys/nginx_signing.key -O - | sudo apt-key add -

середу, 22 червня 2016 р.

Debian7: SNMP-client

В доках написано, що достатньо встановити snmp та snmp-mibs-downloader:
% apt-get install snmp snmp-mibs-downloader
А потім йде "цікава" фраза - "If you have a SNMP server running on localhost", тобто, потрібно ще й snmp-сервер встановити:
 % apt-get install snmpd
Мінімальне налаштування /etc/snmp/snmpd.conf:
#agentAddress  udp:127.0.0.1:161
agentAddress udp:161,udp6:[::1]:161

sysLocation    Frankfurt.DE
sysContact     Me <me@example.org>
Для безпеки варто змінити користувача для запитів:
rocommunity crazypublic
У налаштуваннях клієта ще порожньо /etc/snmp/snmp.conf:
mibs :
Від імені root-а запускаємо оновлення MIB-ів:
% download-mibs
Перезапускаємо snmp-сервер:
service snmpd restar
Тепер можна переглянути відповідь snmp-агента:
# snmpwalk -v1 -cpublic localhost
iso.3.6.1.2.1.1.1.0 = STRING: "Linux maz1 2.6.32-042stab113.21 #1 SMP Wed Mar 23 11:05:25 MSK 2016 x86_64"
iso.3.6.1.2.1.1.2.0 = OID: iso.3.6.1.4.1.8072.3.2.10
iso.3.6.1.2.1.1.3.0 = Timeticks: (428) 0:00:04.28
...

вівторок, 14 червня 2016 р.

шифрування дисків по мережі

(із старих нотаток)

Azir: /sbin/checkflash

if [ ! -e /var/run/checkflash.pid ]; then
  /bin/date > /var/run/checkflash.pid
  /bin/mount -t cifs //comp/n /mnt/flash \
             -o ro,user=guest,password=""
  if [ -e /mnt/flash/.keyfile ]; then
    if [ -e /data/.no-crypt ]; then
      /sbin/cryptsetup -d /mnt/flash/.keyfile \
        luksOpen /dev/md2 dsk1
      /bin/mount /dev/mapper/dsk1 /data
      if[ -e /data/.LOCKfile ]; then
        /etc/init.d/nfs restart
      fi
    fi
  else
    if [ -e /data/.LOCKfile ]; then
      if [ -e /data/.VMS-IS-DOWN ]; then
        /bin/rm -f /data/.VMS-IS-DOWN && \
        /etc/init.d/nfs stop && \
        /bin/umount /data
      fi
    fi
  fi
  /bin/umount /mnt/flash
  /bin/rm -f /var/run/checkflash.pid
fi

APKTIKA: /sbin/checkflash

if [ ! -e /var/run/checkflash.pid ]; then
  /bin/date > /var/run/checkflash.pid
  /bin/mount -t cifs //comp/n /mnt/flash \
             -o ro,user=guest,password=""
  if [ -e /mnt/flash/.keyfile ]; then
    if [ -e /data/.no-mount ]; then
      /bin/mount AZIR:/data /data
      if [ ! -e /data/.LOCKfile ]; then
        /bin/umount /data
      else
        if [ ! -e /data/.VMS-IS-UP ]; then
          /usr/bin/vmware-cmd /data/ws2003/WS2003.vmx \
             -U root -P <password> start && \
          /bin/data > /data/.VMS-IS-IP
        fi
      fi
    fi
  else
    if [ -e /data/.VMS-IS-UP ]; then
      /etc/init.d/vmware stop && \
      /bin/date > /data/.VMS-IS-DOWN && \
      /bin/rm -f /data/.VMS-IS-UP
#    else
#      /bin/kill -9 \
#        `/bin/ps ax | /bin/grep vmware | \
#         /bin/grep -v grep | \
#         /bin/awk '{print $1}'`
#      /bin/date > /data/.VMS-IS-DOWN
    fi
  fi
  /bin/umount /mnt/flash
  /bin/rm -f /var/run/checkflash.pid
fi

понеділок, 13 червня 2016 р.

FreeBSD GELI-шифрування дисків

(зі старих нотаток)

AZIR

/etc/geli

01-keygen:
    dd if=/dev/random of=/etc/geli/azir.key bs=64 count=1

02-init:
    geli init -P -K /etc/geli/azir.key -s 4096 /dev/ar0s1g

03-attach:
    geli attach -p -k /etc/geli/azir.key /dev/ar0s1g

04-format:
    newfs -U -o2 /dev/ar0s1g.eli

05-mount:
    mount /dev/ar0s1g.eli /data


ключ шифрування лежить на комп'ютері в мережі
11-mount.key:
    mount -t smbfs -N //comp/c /mnt/key

23-attach:
    geli attach -p -k /mnt/key/azir.key /dev/ar0s1g

26-detach:
    umount /data
    geli detach /dev/ar0s1g

31-status:
    geli status


файл приєднання-від'єднання:
#!/bin/sh
if [ -e /mnt/uniten/.no-mount ]; then
  /usr/sbin/mount_smbfs -N //comp/c /mnt/key
fi

if [ -e /mnt/key.azir.key ]; then
  if [ -e /data/.no-mount ]; then
    /sbin/geli attach -p -k /mnt/key/azir.key /dev/ar0s1g && \
    /sbin/mount /dev/ar0s1g.eli /data
  fi
else
  /sbin/umount /data
  /sbin/geli detach /dev/ar0s1g
fi

/sbin/umount /mnt/key
 

1С-ка 7.7

(із старих нотаток)

Windows
1. HKLM\SYSTEM\CurrentControlSet\Control\FileSystem
    + NtfsDisableLastAccessUpdate - DWord =1

2. Диск -> Свойства -> Оборудование
                  Properties -> Hardware

3. Зупинити "Службьі":
    - Служба IIS Admin
    - Служба IPSEC
    - Справка и поддержка
    - Диспетчер подключений удаленного доступа (???)
    - Удаленньій реестр
    - Отключение индексирования файлов на дисках

Net Time для Windows

(із старих нотаток)

1. NKLM\System\CurrentControlSet\Services\W32Time
    Config\AnnonceFlag = 5
    Parameters\Type = NTP
    Parameters\NtpServer = time.win.com

    TimeProviders\NtpServer\Enabled = 1
    TimeProviders\NtpClient\SpecialPollInterval = 60

2. net stop w32time
3. net start w32time
4. w32tm /resync

Встановлення Windows Server 2003

(зі старих нотаток)

1. Встановлення.
2. Manage You Server -> Add or remove a role
   - Terminal Server
     [ Next ] -> [ Next ] -> [ OK ]
3. Установка и удаление программ
   - Установка компонентов Windows
     + Networking service - Сетевьіе службьі
       + DNS
       + DHCP
       + WINS
     + Remote Installation Services - Службьі удаленной загрузки
     + Terminal Server Licensing - Лицензирование сервера терминалов
    -> [ Далее ]
4. Встановити IP-адресу:
      192.168.70.2
      192.168.70.1 - jcyjdybq ik.p

      DNS1: 127.0.0.1
      DNS2: 192.168.70.1

5. Налаштування DNS
5.1. Зоньі прямого просмотра:
     -> Создать новую зону -> [Далее]
        + Основная зона  -> [Далее]
          + Имя зоньі: factory.uniten
            -> Создать основной файл -> [Далее]
            + Разрешить любьіе динамические обновления -> [Далее] -> [Готово]
5.2. Зоньі обратного просмотра:
     -> Создать новую зону -> [Далее]
        + Основная зона  -> [Далее]
          + Код сети (ID):
            192.168.70
            -> Имя обратной зоньі просмотра -> [Далее]
          + Создать новьій файл -> [Далее]
            + Разрешить любьіе динамические обновления -> [Далее] -> [Готово]

6. Налаштування DHCP
6.1. DHCP-сервер
     + Создать область -> [Далее]
       Имя: factory -> [Далее]
       Начальньій IP-адрес: 192.168.70.101
       Конечньій ІР-адрес:  192.168.70.110
       -> [Далее] -> [Далее] -> [Далее] -> [Далее]
     + Маршрутизатор:
       192.168.70.2 -> Добавить -> [Далее]
     + Имя домена и DNS-серверьі:
       Родительский домен: factory
       Имя сервера: WS -> Сопоставить
                          -> Добавить -> [Далее]
7. Налаштування WINS
   + Имя сервера: WS -> Сопоставить  -> Добавить
                       -> [Далее] -> [Далее] -> [Готово]
   + Параметрьі сервера:
     003 Маршрутизатор - 192.168.70.1
     006 DNS-серверьі - 192.168.70.2
     012 Имя узла - ws
     015 DNS имя домена - factory.uniten
     044 WINS/NBNS-серверьі - 192.168.70.2
     046 Тип узла WINS - 0x8
     066 Имя узла сервера - 192.168.70.2
     067 Имя файла загрузки - thinstation.nbi.zpxe

8. TFTP-сервер
   + Сервисьі: Trivial FTP Daemon
     Тип запуска -> Авто -> Пуск
   regedit: [F3] TFTP
     HLM\SYSTEM\CurrentControlSet\TFTPD\Parameters
     + Directory: C:\TFtpdRoot

четвер, 2 червня 2016 р.

MySQL root password - відновлення паролю

Забув пароль для сервера mysql. Відновлення (коротко):

1) зупинити mysql-сервер
root@server:~# /etc/init.d/mysql stop
2) запустити mysql-сервер без таблиць доступів
root@server:~# /usr/bin/mysqld_safe --skip-grant-tables &
3) зайти root-ом
root@server:~# mysql --user=root mysql
4) встановити новий пароль
mysql> update user set Password=PASSWORD('new-password-here') WHERE User='root';
5) скинути привілеї
mysql> flush privileges;
6) вийти
mysql> exit
7) перемикнутись у запущений mysql-сервер
root@server:~# fg
8) зупинити його
Ctrl+c
9) запустити нормально mysql-сервер
root@server:~# /etc/init.d/mysql start
10) перевірити можливість входу з новим паролем
root@server:~# mysql --user=root --pass=new-password-here
11) вийти
mysql> exit

У версії MySQL 5.7, поле "password" в таблиці mysql.user було замінене на поле "authentication_string". Щоб пересвідчитись, зробіть
use mysql;
show tables;
describe user;
Тому зміна паролю виглядатиме так:
update user set authentication_string=password('XXXX') where user='root';

неділю, 15 травня 2016 р.

Orange Pi PC, RTL8188, HostAP

Сьогодні, нарешті, запустив АР з rtl8192cu:

Маю wifi-модуль:

# lsusb
Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 002: ID 0bda:8176 Realtek Semiconductor Corp. RTL8188CUS 802.11n WLAN Adapter
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

  1. Витягнув Armbian-у http://www.armbian.com/download образ з Debian Jessie;
  2. Записав на карту;
  3. НАРЕШТІ ПРОЧИТАВ доку )) - http://www.armbian.com/documentation/ а саме розділи: How to build a wireless driver? та How to set wireless access point?
    1. Створити необхідні скрипти (без цього не знаходить recordmcount)

      cd /usr/src/linux-headers-$(uname -r)
      make scripts
    2. Створити копію сирців драйверу:

      cd /srv
      git clone https://github.com/pvaret/rtl8192cu-fixes.git
      cd rtl8192cu-fixes
      make ARCH=arm
      Не забути встановити драйвери:

      make install
    3. Прочитати доку до сирців, а саме "відключення типових драйверів":

      cp ./rtl8192cu-fixes/blacklist-native-rtl8192.conf /etc/modprobe.d/
      Про всяк випадок скористався й відключенням керування живлення:

      cp ./rtl8192cu-fixes/8192cu-disable-power-management.conf /etc/modprobe.d/
    4. Перезапустився reboot.
    5. Тепер wifi-модуль визначився так, як потрібно:

      # iwconfig wlan0
      wlan0 unassociated Nickname:"<WIFI@REALTEK>"
      Mode:Auto Frequency=2.412 GHz Access Point: Not-Associated
              Sensitivity:0/0
              Retry:off RTS thr:off Fragment thr:off
              Encryption key:off
              Power Management:off
              Link Quality=0/100 Signal level=0 dBm Noise level=0 dBm
              Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
              Tx excessive retries:0 Invalid misc:0 Missed beacon:0
    6. Потім ще почитав доку:
      Realtek binary and configuration location:
      /usr/sbin/hostapd-rt
      /etc/hostapd.conf-rt
      1. Edit /etc/init.d/hostapd and add/alter location of your conf file [b]DAEMON_CONF=/etc/hostapd.conf[/b] and binary [b]DAEMON_SBIN=/usr/sbin/hostapd[/b]
      2. Link /etc/network/interfaces.hostapd to /etc/network/interfaces
      3. Reboot
      Напевно, можна просто перейменувати *-rt, але я пішов "складнішим" шляхом і, як радять, відредагував файли:

      /etc/init.d/hostapd:
      DAEMON_SBIN=/usr/sbin/hostapd-rt
      DAEMON_DEFS=/etc/default/hostapd
      DAEMON_CONF=/etc/hostapd/hostapd.conf-rt

      /etc/default/hostapd:
      DAEMON_CONF="/etc/hostapd/hostapd.conf-rt"
    7. Єдине, що зробив не так, як у доці - то "відкинув" місток br0:

      /etc/network/interfaces:
      # Local loopback
      auto lo
      iface lo inet loopback
      
      
      auto eth0
      iface eth0 inet dhcp

      auto wlan0
      iface wlan0 inet static
          address 192.168.3.1
          netmask 255.255.255.0


      /etc/hostapd/hostapd.conf-rt:
      ssid=maz420
      interface=wlan0
      ctrl_interface=/var/run/hostapd
      channel=7
      noscan=1
      wpa=2
      wpa_passphrase=12345678
      #bridge=br0
      wmm_enabled=0
      #driver=rtl871xdrv
      beacon_int=100
      hw_mode=g
      ieee80211n=1
      wme_enabled=1
      ht_capab=[SHORT-GI-40][HT40+][HT40-][DSSS_CCK-40]
      wpa_key_mgmt=WPA-PSK
      wpa_pairwise=CCMP
      max_num_sta=8
      wpa_group_rekey=86400
    8. Бо потрібно було встановити "роздачу" адрес dnsmasq-ом.

      /etc/dnsmasq.conf
      interface=wlan0
      dhcp-range=192.168.3.100,192.168.3.150,12h
      no-resolv
      server=8.8.8.8
      server=8.8.4.4

      /etc/rc.local:
      iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

      /etc/sysctl.conf
      # Uncomment the next line to enable packet forwarding for IPv4
      net.ipv4.ip_forward=1

    9. здається все - ще раз коротко - встановити нові драйвери, заблокувати старі драйвери, перейменувати файли *-rt.

четвер, 17 березня 2016 р.

Exim

Усі налаштування сервера:
exim -bP
Перевірка проходження пошти:
exim -bt email@example.com
Перевірка SMTP з'єднання для певної IP-адреси:
exim -bh x.x.x.x

Черга (Queue)

Кількість листів у черзі
exim -bpc
Виконання черги:
exim -q -v
Перелік листів у черзі:
exim -bp
Змінити адресу відправника:
exim -Mes <message id> <address>
"Розморозити" повідомлення:
exim -Mt <message id> <message id> ...
Warning: purging the environment. Suggested action: use keep_environment.
В конфізі /etc/exim4/update-exim.conf.conf
dc_use_split_config='false'
замінити на
dc_use_split_config='true'
й виконати
update-exim.conf;service exim4 reload
перевіряємо
/usr/sbin/exim4 -bP | grep environment