IPIP

Два маршрутизатора (Net-R0 и Net-R2) на базе Linux CentOS 7 с такими вводными:

Net-R0:

WAN enp0s3 192.168.113.63
LAN enp0s8 10.0.0.1

Net-R2:

WAN enp0s3 192.168.113.65
LAN enp0s8 172.16.8.1

Поднять тонель и получить доступ к внутренним сетям.

# sysctl net.ipv4.ip_forward=1

Net-R0:

[root@Net-R0 network-scripts]# cat ifcfg-ipip1
DEVICE=tun0
BOOTPROTO=none
ONBOOT=no
TYPE=IPIP

## Addr Srv Net-R0
MY_OUTER_IPADDR=192.168.113.63
MY_INNER_IPADDR=172.17.254.1

PEER_OUTER_IPADDR=192.168.113.65
PEER_INNER_IPADDR=172.17.254.2

Net-R2:

[root@Net-R2 network-scripts]# cat ifcfg-ipip1
DEVICE=tun0
BOOTPROTO=none
ONBOOT=no
TYPE=IPIP

## Addr Srv Net-R2
MY_OUTER_IPADDR=192.168.113.65
## Addr Srv in a tonnel
MY_INNER_IPADDR=172.17.254.2

# Addr Peer (other side Net-R0)
PEER_OUTER_IPADDR=192.168.113.63
PEER_INNER_IPADDR=172.17.254.1

Теперь посмотрим IPIP пакеты. Видно, что пакеты IPIP энкапсулируют заголовок IP (192.168.113.65 > 192.168.113.63) во внутренний IP заголовок (172.17.254.2 > 10.0.0.1).

[root@Net-R2]# ping 10.0.0.1 -c2
PING 10.0.0.1 (10.0.0.1) 56(84) bytes of data.
64 bytes from 10.0.0.1: icmp_seq=1 ttl=64 time=0.863 ms
64 bytes from 10.0.0.1: icmp_seq=2 ttl=64 time=0.522 ms
[root@Net-R0]# tcpdump -vvnneSs 0 -i any port not ssh
tcpdump: listening on any, link-type LINUX_SLL (Linux cooked), capture size 262144 bytes
04:55:26.814714 In 08:00:27:5b:03:19 ethertype IPv4 (0x0800), length 120: (tos 0x0, ttl 64, id 12468, offset 0, flags [DF], proto IPIP (4), length 104)
    192.168.113.65 > 192.168.113.63: (tos 0x0, ttl 64, id 31918, offset 0, flags [DF], proto ICMP (1), length 84)
    172.17.254.2 > 10.0.0.1: ICMP echo request, id 25063, seq 1, length 64
04:55:26.814828 In ethertype IPv4 (0x0800), length 100: (tos 0x0, ttl 64, id 31918, offset 0, flags [DF], proto ICMP (1), length 84)
    172.17.254.2 > 10.0.0.1: ICMP echo request, id 25063, seq 1, length 64
04:55:26.814877 Out ethertype IPv4 (0x0800), length 100: (tos 0x0, ttl 64, id 22476, offset 0, flags [none], proto ICMP (1), length 84)
    10.0.0.1 > 172.17.254.2: ICMP echo reply, id 25063, seq 1, length 64
04:55:26.814886 Out 08:00:27:5c:5e:08 ethertype IPv4 (0x0800), length 120: (tos 0x0, ttl 64, id 63103, offset 0, flags [DF], proto IPIP (4), length 104)
    192.168.113.63 > 192.168.113.65: (tos 0x0, ttl 64, id 22476, offset 0, flags [none], proto ICMP (1), length 84)
    10.0.0.1 > 172.17.254.2: ICMP echo reply, id 25063, seq 1, length 64


 

image_pdfimage_print

GRE

Протокол GRE создавался компанией Cisco Systems для организации сетевых тунелей. И хотя в настоящее время GRE теряет актуальность, так как не поддерживает шифрование и не работает через NAT, в случае необходимости быстрой организации туннеля между двумя локальными сетями именно GRE будет в числе самых простых вариантов.

Два маршрутизатора (Net-R0 и Net-R2) на базе Linux CentOS 7 с такими вводными:

Net-R0:

WAN enp0s3 192.168.113.63
LAN enp0s8 10.0.0.1
GRE 172.17.254.1

Net-R2:

WAN enp0s3 192.168.113.65
LAN enp0s8 172.16.8.1 
GRE 172.17.254.2

Поднять тонель и получить доступ к внутренним сетям.

# sysctl net.ipv4.ip_forward=1

Net-R0 (Host1)

# cat ifcfg-gre1
DEVICE=gre1
BOOTPROTO=none
ONBOOT=no
TYPE=GRE

## Addr Srv Net-R0
MY_OUTER_IPADDR=192.168.113.63
MY_INNER_IPADDR=172.17.254.1

PEER_OUTER_IPADDR=192.168.113.65
PEER_INNER_IPADDR=172.17.254.2
# cat route-gre1
172.16.8.0/24 via 172.17.254.2 dev gre1

Net-R2 (Host2)

# cat ifcfg-gre1
DEVICE=gre1
BOOTPROTO=none
ONBOOT=no
TYPE=GRE

## Addr Srv Net-R2
MY_OUTER_IPADDR=192.168.113.65
## Addr Srv in a tonnel 
MY_INNER_IPADDR=172.17.254.2

# Addr Peer (other side Net-R0)
PEER_OUTER_IPADDR=192.168.113.63
PEER_INNER_IPADDR=172.17.254.1
# cat route-gre1
10.0.0.0/24 via 172.17.254.1 dev gre1

Firewall

# firewall-cmd --permanent --direct --add-rule ipv4 filter INPUT 0 -p gre -j ACCEPT
# firewall-cmd --permanent --direct --add-rule ipv6 filter INPUT 0 -p gre -j ACCEPT
# firewall-cmd --reload

Iptables

# iptables -I INPUT -p gre -j ACCEPT

Проверяем:

[root@Net-R2]# ping 10.0.0.1
[root@net-r0]# tcpdump -envvn proto gre
tcpdump: listening on enp0s3, link-type EN10MB (Ethernet), capture size 262144 bytes
14:37:45.776948 08:00:27:5b:03:19 > 08:00:27:5c:5e:08, ethertype IPv4 (0x0800), length 122: (tos 0x0, ttl 64, id 761, offset 0, flags [DF], proto GRE (47), length 108)
   192.168.113.65 > 192.168.113.63: GREv0, Flags [none], proto IPv4 (0x0800), length 88
   (tos 0x0, ttl 64, id 24605, offset 0, flags [DF], proto ICMP (1), length 84)
   172.17.254.2 > 10.0.0.2: ICMP echo request, id 9655, seq 1, length 64
14:37:46.957099 08:00:27:5b:03:19 > 08:00:27:5c:5e:08, ethertype IPv4 (0x0800), length 122: (tos 0x0, ttl 64, id 1554, offset 0, flags [DF], proto GRE (47), length 108)
   192.168.113.65 > 192.168.113.63: GREv0, Flags [none], proto IPv4 (0x0800), length 88
   (tos 0x0, ttl 64, id 24723, offset 0, flags [DF], proto ICMP (1), length 84)
   172.17.254.2 > 10.0.0.2: ICMP echo request, id 9655, seq 2, length 64

Краткая шпаргалка:

HOST1: ip link add grelan type gretap  local <IP1> remote <IP2>
HOST1: ip link set grelan up
HOST1: iptables -I INPUT -p gre -s <IP2> -j ACCEPT
HOST2: ip link add grelan type gretap local <IP2> remote <IP1>
HOST2: ip link set grelan up
HOST2: iptables -I INPUT -p gre -s <IP1> -j ACCEPT
image_pdfimage_print

Сброс пароля

CentOS 7

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

Попадаем в редактирование параметров, идем в низ файла, находим строчку начинающуюся с linux16, тут меняем параметр ro на rw и добавляем init=/sysroot/bin/sh, и нажимаем ctrl+x

После загрузки набираем:

chroot /sysroot
passwd

2 раза вводим пароль. После чего набираем:

touch /.autorelabel
exit
И перезагружаемся, пароль изменен.

Centos 6

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

Выбираем самый свежий образ ядра, если их несколько и жмем кнопку a.

Попадаем в редактирование строки загрузки, в конце строки убираем, если есть rhgb quiet и добавляем single

Жмем enter. Система загрузится в single mode, тут набираем:

passwd

2 раза вводим новый пароль, и перезагружаем систему

reboot now

Пароль сброшен.

image_pdfimage_print

rsyncd

На машине с которой нужно получить бекап (server).

$ sudo yum install -y rsync
$ sudo vim /etc/rsyncd.conf
# /etc/rsyncd: configuration file for rsync daemon mode
# See rsyncd.conf man page for more options.
# configuration example:

uid = nobody
gid = nobody
use chroot = no
max connections = 4
pid file = /var/run/rsyncd.pid
exclude = lost+found/
transfer logging = yes
# timeout = 900
# ignore nonreadable = yes
dont compress = *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2

[sdata]
   path = /home/lora/_backup/SDATA/
   comment = SDATA imp
   hosts allow = xxx.xxx.xxx.xxx yyy.yyy.yyy.yyy
   secrets file = /etc/rsync.d/rsyncd.secrets
$ sudo mkdir -p /etc/rsync.d
$ sudo cat /etc/rsync.d/rsyncd.secrets
lora:password

На машине с которой будет производиться синхронизация (клиент)

$ sudo yum install -y rsync

$ sudo vim /etc/rsyncd.conf
# Set this if you want to stop rsync daemon with rc.d scripts
pid file = /var/run/rsyncd.pid
motd file = /etc/rsync.d/new_motd
exclude = lost+found/
transfer logging = yes
log file = /var/log/rsyncd.log

# Edit this file before running rsync daemon!!

uid = nobody
gid = nobody
use chroot = no
max connections = 4

dont compress = *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2

[sdata]
    path = /home/lora/_backup/SDATA/
    comment = SDATA 
    auth users = lora
    secrets file = /etc/rsync.d/rsyncd.secrets

Firewalld

На клиенте и на сервере открываем порт (873) или разрешаем сервис

$ sudo firewall-cmd --get-active-zones
$ sudo firewall-cmd --zone=public --list-all
$ sudo firewall-cmd --permanent --zone=public --add-service=http
$ sudo firewall-cmd --reload
$ sudo firewall-cmd --list-all
public (active)
   target: default
   icmp-block-inversion: no
   interfaces: enp64s0
   sources:
   services: ssh samba rsyncd
   ports: 5001/tcp
   protocols:
   masquerade: no
   forward-ports:
   source-ports:
   icmp-blocks:
   rich rules:

Включаем сервис и добавляем в автозагрузку

$ sudo systemctl start rsyncd
$ sudo systemctl status rsyncd
$ sudo systemctl enable rsyncd

Проверяем слушается ли порт

$ ss -tul | grep rsync
tcp    LISTEN   0   5    *:rsync     *:* 
tcp    LISTEN   0   5   :::rsync    :::*

на клиенте запускаем скрипт вида

$ vim rsync_backup_sdata.sh

#!/bin/sh
#
rsync -urlogt --password-file=/etc/rsync.d/rsyncd.secrets lora@192.168.0.19::sdata /home/lora/_backup/SDATA/

$ chmod +x rsync_backup_sdata.sh

Настройка SELinux

При попытке синхронизировать в логах появилось сообщение вида:

avc: denied { search } for pid=26577 comm="rsync" name="lora" dev="md124" ino=99 scontext=system_u:system_r:rsync_t:s0 tcontext=unconfined_u:object_r:user_home_dir_t:s0 tclass=dir

Запускаем и следуем рекомендациям

# sealert -a /var/log/audit/audit.log  

# semanage fcontext -a -t rsync_data_t "/home/lora(/.*)?"
# restorecon -Rv /home/lora/

Теперь:

$ ls -Zd
drwx------. lora lora unconfined_u:object_r:rsync_data_t:s0

Пробуем соединиться. Если все нормально ставим на клиенте задание в крон:

$ sudo crontab -e
45 2 * * * /home/lora/bin/rsync_backup_sdata.sh

 

image_pdfimage_print

SNAT vs MASQUERADE

Раньше MASQUERADE при динамическом ip использовали. А если ip статика – какая разница между

iptables -t nat -A POSTROUTING -o ppp0 -j SNAT --to-source внешний_IP

и

iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

Во-первых,MASQUERAD заново определяет внешний адрес для каждого нового коннекта, и это в данной ситуации будет совсем уже лишней работой.

Во-вторых, при кратковременном пропадании линка, MASQUERADE сбрасывает все открытые соединения, т.к. предполагает, что адрес уже сменился. SNAT сохраняет соединения, если они по таймауту не отвалятся.

image_pdfimage_print

Группы в Windows XP

Пользователи группы Администраторы обладают неограниченными правами. Рекомендуется использовать административный доступ только для выполнения следующих действий:

  • установки операционной системы и ее компонентов (драйверов устройств, системных служб, пакетов обновления);
  • обновления и восстановления операционной системы;
  • установки программ и приложений;
  • настройки важнейших параметров операционной системы (политики паролей, управления доступом и т.п.);
  • управления журналами безопасности и аудита;
  • архивирования и восстановления системы и т.п.

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

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

Группа Опытные пользователи поддерживается, в основном, для совместимости с предыдущими версиями Windows, для выполнения не сертифицированных и устаревших приложений. “Опытные пользователи” имеют больше разрешений, чем члены группы “Пользователи”, и меньше, чем “Администраторы”. Разрешения по умолчанию, предоставленные этой группе, позволяют членам группы изменять некоторые параметры компьютера. Если необходима поддержка не сертифицированных под Windows приложений, пользователи должны быть членами группы “Опытные пользователи”.

Учетная запись Гость предоставляет доступ на компьютер любому пользователю, не имеющему учетной записи. Для повышения безопасности компьютера рекомендуют отключать учетную запись “Гость” и настраивать доступ к общим ресурсам ПК существующим пользователям.

image_pdfimage_print

Настройка общего доступа к расшаренным ресурсам

Простой общий доступ

Windows XP

Настроим простой общий доступ для папки Doc.

Для этого заходим Сервис –> Свойства папки –> Вид, и ставим галочку (если не стоит) Использовать простой общий доступ к файлам.

Дальше выделяем папку –> Общий доступ и безопасность –> Просто включить общий доступ к файлам

Дальше выбираем название для общего ресурса и ставим галочки как на рис. ниже.

После этого у нашей папки появится рука

Расширенный общий доступ

Проверяем что бы была снята галка Использовать простой общий доступ к файлам

Дальше выделяем папку –> Общий доступ и безопасность –> Разрешения –> Дополнительно –> Поиск и выбираем пользователя для которого открываем доступ.

Дальше ставим разрешения

ВАЖНО

  1. Пользователь должен существовать и на машине с которой будет осуществляться доступ к ресурсу.
  2. У пользователя должен быть не пустой пароль.
  3. В разрешениях лучше убрать всех кто не должен попадать в расшаренную папку.

Windows 7

Сначала убедимся, что на компьютере с Windows 7 включен общий доступ с парольной защитой. Для этого идем в “Пуск” –> “Панель управления” –> ‘Центр управления сетями и общим доступом”. Здесь щелкаем по ссылке “Выбор домашней группы и параметров общего доступа”.

Затем жмем “Изменение дополнительных параметров общего доступа”.

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

Создаем пользователя под которым будем заходить на ресурс.

Открываем доступ к папке или диску – кликаем по ней правой кнопкой мыши – “Свойства” –> “Доступ”. Здесь нажимаем кнопку “Общий доступ”.

В открывшемся окне необходимо задать пользователей, которым будет разрешен доступ к этой папке по сети. Нажимаем в конце самой верхней строки и из выпадающего списка выбираем только что созданного нами пользователя – затем нажимаем кнопку “Добавить”.

Теперь в правой колонке необходимо задать уровень разрешений. Если нам необходимо, чтобы пользователь мог создавать и удалять файлы в нашей папке по сети, то ставим галочку напротив пункта “Чтение и запись”.

 

image_pdfimage_print

Remmina – RDP клиент для Linux Mint

Если при установке из програмного менеджера непоявляется протокол RDP:

Чистим окружение:

# killall remmina
# apt-get purge remmina* -y
# rm -Rf /home/`whoami`/.remmina/remmina.pref

Устанавливаем:

# add-apt-repository ppa:remmina-ppa-team/remmina-next
# apt-get update
# apt-get install remmina remmina-plugin-rdp libfreerdp-plugins-standard
image_pdfimage_print

Как удалить Office 2003, 2007 или 2010, если не удается сделать это с помощью панели управления?

Возникла необходимость переустановки MS Office 2010, на одном из ПК. Но стандартная процедура удаления прерывалась с ошибкой примерно на середине. Гугление дало несколько вариантов решения проблемы, такими как сторонние утилиты или удаление вручную, с последующей очисткой реестра, а так же официальной утилитой MS. Ее то и скачиваем с их сайта или здесь Completely uninstall Office with the easy fix tool

image_pdfimage_print