• Как правильно разметить Centos 7 Server для виртуальных машин и контейнеров?

    @younghacker
    Правильно/неправильно это относительная оценка.

    Я делаю так.
    до 500 мег под /boot
    далее создаю LVM на котором ставлю
    /
    /home
    /log
    swap

    Но важным является то, что я не выделяю всё свободное место, а только необходимое плюс небольшой запас. С таким подходом пока имеется свободное место на LVM имеется возможность сделать lvresize и resize2fs прямо на ходу не перегружая систему.
    Диски для виртуалон же выделяю прямо в LVM.

    Для виртуализации использую KVM.
    Ответ написан
    Комментировать
  • Centos 7, почему не запускается openvpn клиент?

    @younghacker
    Всё необходимое было сказано выше я лишь добавлю немного практики.
    В сессии рута:
    отключить SELinux
    setenforce 0
    проверить что отключился
    getenforce

    Настройте логи /etc/openvpn/ваш-vpn.conf
    log-append  /var/log/openvpn.log
    verb 5


    затем запустить openvpn и посмотреть что получилось в логе

    cat /var/log/openvpn.log

    также ошибки указывающие на проблему могут быть и в /var/log/messages

    Если проблема в SELinux то разрешите открывать порты (для конфига который породит сервер), читать конфиги и писать лог и status файлы.

    Показать права SELinux для файлов:
    semanage fcontext -l | grep openvpn
    и для портов (требуется для сервера)
    semanage port -l | grep openvpn_port_t

    Добавление исключений для файлов:
    semanage fcontext -t openvpn_etc_t -a '/etc/openvpn(/.*)?'
    semanage fcontext -t openvpn_etc_rw_t -a '/etc/openvpn/ipp.txt'
    semanage fcontext -t openvpn_var_log_t -a '/var/log/openvpn.*'
    restorecon -v /etc/openvpn/
    restorecon -v /var/log/


    Добавление исключений для портов:
    semanage port -a -t openvpn_port_t -p tcp ПОРТ
    semanage port -a -t openvpn_port_t -p udp ПОРТ


    semanage находится в пакете libsemanage-python
    Ответ написан
    Комментировать
  • Почему клиент OpenVPN GUI не подключается после гибернации?

    @younghacker
    После восстановления из hybernate проверьте список процессов присутствует ли там openvpn.
    Если да, то попробуйте в конфигурационный файл добавить опции:
    ping 10
    ping-restart 60

    Если openvpn падает, то включите его детальные логи
    log         openvpn.log
    log-append  openvpn.log
    verb 9   # от 3 до 9. (9 - очень детальные логи)


    и затем смотрите их.
    Не забудьте потом отключить логи или уменьшить verbosity

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

    Надеюсь, это поможет разобраться с причинами.

    Самое последнее средство написать/найти скрипт который на событие возврата из hybernate перезапустит сервис openvpn. :)
    Ответ написан
    Комментировать
  • Для сетки сайтов под wordpress имеет значение память ECC или обычная?

    @younghacker
    ECC память немного надёжнее:
    • обнаруживает некоторые ошибки
    • в некоторых случаях корректирует их

    Стоит дороже так как содержит дополнительную память для хранения ECC и схемы контроля и коррекции ошибок.
    Поддерживается в основном серверным железом.
    Ответ написан
    Комментировать
  • Как решить проблему с DNS при подключении OpenVPN в Fedora 21?

    @younghacker
    Для поиска проблемы я бы поступал следующим образом:

    Посмотрите со стороны клиента куда уходят запросы к DNS
    В одном окне терминала (на стороне OpenVPN клиента) запустите:
    # tcpdump -i any port 53

    В другом окне терминала (на стороне OpenVPN клиента) выполните два запроса:
    первый запрос с автовыбором NS сервера
    $ nslookup домен

    второй запрос адресный прямо на сервер
    $ nslookup домен XXX.XXX.XXX.XXX
    где XXX.XXX.XXX.XXX адрес NS сервера который через VPN.
    Посмотрите какие сервера перебирает первый запрос
    и через какой интерфейс и куда улетает второй.
    И если проходимость есть (маршрутизация работает верно, firewall пропускает, dns сервер отвечает) то для второго запроса должны получить правильный ответ: IP адрес.

    Если же ответа нет то посмотрите не закрыт ли Firewall как на клиенте так и на сервере
    # iptables -nvL

    Включите более подробные логи для OpenVPN на клиенте и на сервере и проанализируйте их
    log /var/log/openvpn.vpn-client1.log
    verb 5
    mute 20


    DNS прописывать руками нет нужды. Вам верно сказали, что со стороны сервера его нужно затолкнуть на клиента
    push "dhcp-option DOMAIN domain.local"


    Но вы сначала определитесь будете ресолвить все имена с того сервера который вам даёт VPN или только те что внутри домена.

    Посмотрите запускается или нет dnsmasq из NetworkManager
    # cat /etc/NetworkManager/NetworkManager.conf 
    [main]
    plugins=ifcfg-rh
    #dns=dnsmasq
    dns=none


    Не забывайте про SELinux. Временно отключите:
    # setenforce 0

    По своему опыту скажу, что в Fedora20, на которой я сижу в данный момент, я отказался от использования OpenVPN, iptables и dnsmasq через Network Manager по причине неадекватного поведения. Мой "VPN зоопарк" оказалось проще настроить по старинке.
    Ответ написан
    Комментировать
  • Зашифрует ли шифровальщик файлы на диске без буквы?

    @younghacker
    Вам верно ответили, куда имеет доступ залогиненный пользователь, туда имеют доступ и все процессы запущенные с его привилегиями. А будет ли он искать все устройства или нет, зависит от реализации.

    Спасут информацию и кошельки только резервные копии на удалённое устройство откуда пользователь не может ничего удалить или изменить. Речь идёт о таком бэкапе куда пользователь используя своё окружение и привилегии не может получить доступ.
    Например бэкап на почту. Отправить можете, а вот отозвать письмо — нет. Разумеется доступ к такому бэкапу нужно хранить надёжно и случайно не "спалить" трояну. "Отправляльщик" должен это делать без аутентификации или отправлять на другой ящик иначе пароль может утечь, а шифровальщий сделать своё дело.

    Либо "бэкап устройство" должно само приходить на компьютер и забирать бэкапы не предоставляя возможности зайти к себе. Разве что только по пятницам и только в режиме ReadOnly. Например для проверки бэкапов.

    Для этих целей не подходит диск подключённый по USB. Или ограниченно подходит если выполнены мероприятия описанные дальше.

    Но всё же нужно помнить о организационных мероприятиях, так как понятие пользователь отличается от понятия администратор. Не нужно работать от эккаунта администратора. Для этого есть эккаунт пользователя. Ему выделить песочницу "Мои документы" и туда он пусть пишет и читает. При грамотно расставленых правах и политиках ограничения запуска, а главное адекватном поведении пользователя у трояна почти нет шансов во-первых запуститься, во-вторых даже запустившись он будет "кувыркаться" в рамках отведённой песочницы.
    Бэкапер при этом выполняясь с другими более высокими привилегиями будет изолирован от шифровальщика и сможет создавать копии в защищённое место.
    Ответ написан
    Комментировать
  • Как защитить рабочую станцию от сброса пароля администратора в windows?

    @younghacker
    Если есть физический доступ к компьютеру, что вы не делайте найдётся умелец.

    Поставьте бездисовые linux терминалы, а пользователей загоните в терминальный сервер и делу конец.
    Ответ написан
  • Какой хостинг подойдёт для OnlyOffice (вопрос от новичка, требования к хостингу в описании)?

    @younghacker
    Если Вы будете брать именно хостинг то одни только SPLA лицензии RDP на 5 человек потянут на ~20 евро в месяц. В таком случае предложение 75$ в год более чем выгодное.
    Ответ написан
    Комментировать
  • Доступ из интернета в домашнюю сеть через VPS - как добить до конца?

    @younghacker
    Проверьте включена ли маршрутизация в ядре.
    # cat /proc/sys/net/ipv4/ip_forward

    Проверьте также маршруты что ваш сервер и клиент знают про адреса на которые отправляют пакеты.
    # ip route | sort

    И tcpdump Вам в помощь с отслеживанием пакетов.
    iptables -nvL смотрите счётчики пакетов.
    или добавьте правила iptbales c -j LOG и записывайте в лог чтобы понять где и что "режется".
    Ответ написан
    Комментировать
  • Как зашифровать интернет канал?

    @younghacker
    Использую OpenVPN.
    На серверной стороне крутится OpenVPN в режиме сервера. Он PUSH-ит клиентам все необходимые маршруты в сети где находятся серверы. Разумеется клиент не будет иметь доступа без VPN. Наружу открывается только один UDP порт.
    На клиентских сторонах OpenVPN в офисах ставлю на роутеры типа Mikrotik или TP Link с прошивкой OpeWRT. На мобильных компах которые должны работать с сервром вне офиса используется OpenVPN клиент.
    Решение работает стабильно годы напролёт (более 5-лет)
    Ответ написан
    Комментировать
  • Как сделать синхронизацию Windows - Хостинг через FTP?

    @younghacker
    Утилиты для работы с ftp можно взять здесь.
    www.ncftp.com/ncftp
    Конкретно взять утилиту
    NcFTPPut - command-line utility program
    Она не требует инсталяции и работает из командной строки.

    Командный файл примерно такой:
    @echo off
    ncftpput.exe -u %ftpuser% -p %ftppass% %ftpaddr% %1 %2 >> %3
    set result=%ERRORLEVEL%
    if %result% == 0 (
      @echo ftpput reported ok >> %3
    ) else (
      @echo ftpput reported error = %result% >> %3
    )
    exit /b

    получает 3 параметра
    1) путь куда класть на ftp сервере
    2) полный путь и имя файла который класть на сервер
    3) полный путь и имя файла куда выводить результаты (log)
    из предыдущего командного файла или в окружении нужно установить три переменные
    set ftpuser - имя пользователя ftp
    set ftppass - пароль пользователя ftp
    set ftpaddr - адрес ftp сервера
    И не забыть в path добавить путь к ncftpput или вызвать с полным путём.
    Ответ написан
    Комментировать
  • Как создать собственную сборку WordPress?

    @younghacker
    Поставьте Wordpress. Сконфигурируйте его так как вам нужно, заложите базовые вещи.
    Установите нужные темы и плагины, активируйте их. И потом сделайте дамп базы и дамп содержимого ftp каталога с сайтом. Всё что вам дальше понадобится это только разобраться с приведением базы данных к новому домену (описано на сайте WP). Аплоадите файлы, и базу, выполняете набор скриптов которые пропишут в базе нужный домен. И всё. Будьте внимательны с плагинами типа NextGen gallery. Он прописывает пути к файлам стилей и скриптам в своих настройках.

    Посмотрите ещё wp-cli
    Ответ написан
    Комментировать
  • Почему не работает форвардинг на Centos?

    @younghacker
    Вы не показали таблицы маршрутизации центрального сервера. Как можно понять из приведённой информации на нём на VPN интерфейсе есть сеть 192.168.250.0/24, а значит на нём должна быть маршрутизация через vpn в ваши сети которые вы хотите сделать доступными:
    192.168.248.0/24
    192.168.243.0/24
    192.168.251.0/24


    В одной консоли запустите
    ping -I eth1 192.168.250.102
    Во второй
    tcpdump -i tun0 host 192.168.250.102
    На центральном сервере на tun интерфейсе также запустите
    tcpdump -i tun0 host 192.168.250.102
    Смотрите что пакеты проходят как в одну так и во вторую сторону.
    Ищите где затык.

    Мне также жутко не нравится Ваш iptables. В частности цепочки FORWARD
    -A FORWARD -d 192.168.250.0/24 -i eth1 -o tun0 -j ACCEPT
    -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
    -A FORWARD -i eth1 -o eth0 -j ACCEPT
    -A FORWARD -j REJECT --reject-with icmp-host-prohibited
    -A FORWARD -i tun0 -j ACCEPT
    -A FORWARD -o tun0 -j ACCEPT

    Запустите пинги из одной консоли и позапускайте посмотрите какие счётчики растут.
    # iptables -nvL
    Вы цепочкой
    -A FORWARD -j REJECT --reject-with icmp-host-prohibited

    режете трафик который идёт из tun0.

    У вас все адреса локальные поэтому можете попробовать разрешить всё:
    -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
    -A FORWARD -i eth0 -j ACCEPT
    -A FORWARD -o eth0 -j ACCEPT
    -A FORWARD -i eth1 -j ACCEPT
    -A FORWARD -o eth1 -j ACCEPT
    -A FORWARD -i tun0 -j ACCEPT
    -A FORWARD -o tun0 -j ACCEPT
    -A FORWARD -j REJECT --reject-with icmp-host-prohibited


    Пробуйте.
    Ответ написан
    1 комментарий
  • Как поднять VPN сервер на linux mint?

    @younghacker
    Прежде всего уясните себе что машина с easy-rsa это машина которая только подписывает ключи. И по логике безопасности должна быть отдельной машиной. Не стоит хранить генератор ключей и в особенности приватный CA на самом VPN сервере.

    1) ставим openvpn на VPN сервере
    # apt-get install openvpn
    2) ставим easy-rsa на станции подписей
    # apt-get install easy-rsa
    3) создаём каталог куда скопируем easy-rsa и там будем изменять настройки, создавать и подписывать сертификаты
    # mkdir -p /root/sign-host/easy-rsa
    # cd /root/sign-host/easy-rsa
    # cp /usr/share/easy-rsa/* ./

    4) проверяем что скопировалось
    # ls -1
    build-ca
    build-dh
    build-inter
    build-key
    build-key-pass
    build-key-pkcs12
    build-key-server
    build-req
    build-req-pass
    clean-all
    inherit-inter
    list-crl
    openssl-0.9.6.cnf
    openssl-0.9.8.cnf
    openssl-1.0.0.cnf
    pkitool
    revoke-full
    sign-req
    vars
    whichopensslcnf

    5) меняем переменные в конце файла vars. Размер ключики. Если параноя входит в ваши должностные обязанности то нужно побольше ставить. :)
    # mcedit vars
    .......
    export KEY_SIZE=1024
    .......
    export KEY_COUNTRY="US"
    export KEY_PROVINCE="CA"
    export KEY_CITY="SanFrancisco"
    export KEY_ORG="Fort-Funston"
    export KEY_EMAIL="me@myhost.mydomain"
    export KEY_EMAIL=mail@host.domain
    export KEY_CN=changeme
    export KEY_NAME=changeme
    export KEY_OU=changeme
    export PKCS11_MODULE_PATH=changeme
    export PKCS11_PIN=1234

    changeme - замените на свои значения. Остальные также можно изменить если хотите. На работоспособность это никак не влияет.

    Затем генерируем ключи. Команда vars запускается из шела. перед ней через пробел точка.
    После её запуска нужно запускать остальные.
    # . vars
    NOTE: If you run ./clean-all, I will be doing a rm -rf on /root/easy-rsa/keys
    # ./clean-all 
    # ./build-ca myvpn-ca
    Generating a 1024 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]:
    State or Province Name (full name) [CA]:
    Locality Name (eg, city) [SanFrancisco]:
    Organization Name (eg, company) [Fort-Funston]:
    Organizational Unit Name (eg, section) [my-organization]:
    Common Name (eg, your name or your server's hostname) [myvpn-server]:
    Name [myvpn-key]:
    Email Address [mail@host.domain]:

    Получили ключик центра сертификации. Публичный и приватный.
    ca.crt
    ca.key


    Следом создадим ключик Diffie Hellman
    # ./build-dh
    Он может довольно долго работать и создавать ключ. Для 1024-х бит получим файл ./keys/dh1024.pem
    Теперь генерируем и подписываем ключ сервера.
    ./build-key-server myvpn-server-key
    Generating a 1024 bit RSA private key
    ............++++++
    .......++++++
    writing new private key to 'myvpn-server-key.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]:
    State or Province Name (full name) [CA]:
    Locality Name (eg, city) [SanFrancisco]:
    Organization Name (eg, company) [Fort-Funston]:
    Organizational Unit Name (eg, section) [my-organization]:
    Common Name (eg, your name or your server's hostname) [myvpn-server-key]:
    Name [myvpn-key]:
    Email Address [mail@host.domain]:
    
    Please enter the following 'extra' attributes
    to be sent with your certificate request
    A challenge password []:
    An optional company name []:
    Using configuration from /root/easy-rsa/openssl-1.0.0.cnf
    Check that the request matches the signature
    Signature ok
    The Subject's Distinguished Name is as follows
    countryName           :PRINTABLE:'US'
    stateOrProvinceName   :PRINTABLE:'CA'
    localityName          :PRINTABLE:'SanFrancisco'
    organizationName      :PRINTABLE:'Fort-Funston'
    organizationalUnitName:PRINTABLE:'my-organization'
    commonName            :PRINTABLE:'myvpn-server-key'
    name                  :PRINTABLE:'myvpn-key'
    emailAddress          :IA5STRING:'mail@host.domain'
    Certificate is to be certified until May 17 13:58:59 2024 GMT (3650 days)
    Sign the certificate? [y/n]:y
    
    
    1 out of 1 certificate requests certified, commit? [y/n]y
    Write out database with 1 new entries
    Data Base Updated

    Это добавило ещё 3 файла в каталог ./keys/
    myvpn-server-key.crt
    myvpn-server-key.csr
    myvpn-server-key.key

    Ну и теперь генерируем ключи для клиентов. Если клиенты будут иметь разные ключи то сколько клиентов столько раз и запускать. Не забывайте каждый раз менять (номер) ключа. Ну или можете назвать по именам реальных клиентов vasya-key, roma-key и т д.
    ./build-key myvpn-client1-key
    Generating a 1024 bit RSA private key
    ...................++++++
    ................++++++
    writing new private key to 'myvpn-client1-key.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]:
    State or Province Name (full name) [CA]:
    Locality Name (eg, city) [SanFrancisco]:
    Organization Name (eg, company) [Fort-Funston]:
    Organizational Unit Name (eg, section) [my-organization]:
    Common Name (eg, your name or your server's hostname) [myvpn-client1-key]:
    Name [myvpn-key]:
    Email Address [mail@host.domain]:
    
    Please enter the following 'extra' attributes
    to be sent with your certificate request
    A challenge password []:
    An optional company name []:
    Using configuration from /root/easy-rsa/openssl-1.0.0.cnf
    Check that the request matches the signature
    Signature ok
    The Subject's Distinguished Name is as follows
    countryName           :PRINTABLE:'US'
    stateOrProvinceName   :PRINTABLE:'CA'
    localityName          :PRINTABLE:'SanFrancisco'
    organizationName      :PRINTABLE:'Fort-Funston'
    organizationalUnitName:PRINTABLE:'my-organization'
    commonName            :PRINTABLE:'myvpn-client1-key'
    name                  :PRINTABLE:'myvpn-key'
    emailAddress          :IA5STRING:'mail@host.domain'
    Certificate is to be certified until May 17 14:03:29 2024 GMT (3650 days)
    Sign the certificate? [y/n]:y
    
    
    1 out of 1 certificate requests certified, commit? [y/n]y
    Write out database with 1 new entries
    Data Base Updated

    Получили три файла на каждого клиента
    myvpn-client1-key.crt
    myvpn-client1-key.csr
    myvpn-client1-key.key

    Ну и для комплекта сгенерим ещё и TA ключ.
    openvpn --genkey --secret "$EASY_RSA/keys/myvpn-server-ta.key"

    В результате добавится ключик ./keys/myvpn-server-ta.key
    Поздравляю! С ключами закончили.

    Теперь берите пять (5) ключей:
    dh1024.pem
    ca.crt
    myvpn-server-ta.key
    myvpn-server-key.crt
    myvpn-server-key.key

    и копируете на сервер в каталог /etc/openvpn/
    Копируете по закрытому соединению. scp например. или флешкой перенесите.
    Затем берёте четыре (4) ключа:
    ca.crt
    myvpn-server-ta.key
    myvpn-client1-key.crt
    myvpn-client1-key.key

    и копируете их на клиента в каталог /etc/openvpn/ или в соответствующий каталог на windows
    Аналогично копируете соблюдая меры безопасности.
    Теперь осталось сделать конфиги.
    Сервер /etc/openvpn/myvpn-server.conf
    port 443
    proto udp
    dev tun1
    
    user nobody
    group nogroup
    
    dh       /etc/openvpn/dh1024.pem
    ca       /etc/openvpn/ca.crt
    cert     /etc/openvpn/myvpn-server-key.crt
    key      /etc/openvpn/myvpn-server-key.key
    tls-auth /etc/openvpn/myvpn-server-ta.key 0
    
    server 10.10.0.0 255.255.255.0
    push "redirect-gateway"
    push "dhcp-option DNS 10.10.0.1"
    push "explicit-exit-notify 3"
    
    client-config-dir ccd
    keepalive 10 60
    
    #duplicate-cn
    
    auth SHA1
    cipher AES-256-CBC   # AES
    comp-lzo
    
    max-clients 128
    persist-key
    persist-tun
    
    ifconfig-pool-persist /var/log/openvpn-ipp-udp443.txt
    status                /var/log/openvpn-status-udp443.log
    log                   /var/log/openvpn-udp443.log
    verb 3


    Клиенты /etc/openvpn/myvpn-client.conf
    client
    dev tun1
    proto udp
    remote xxx.xxx.xxx.xxx 443
    resolv-retry infinite
    nobind
    persist-key
    persist-tun
    
    ns-cert-type server
    
    ca       /etc/openvpn/ca.crt
    cert     /etc/openvpn/myvpn-client1-key.crt
    key      /etc/openvpn/myvpn-client1-key.key
    tls-auth /etc/openvpn/myvpn-server-ta.key 1
    
    # разрешаем запускать скрипты
    script-security 2
    # на поднятие и опускание vpn запускаем скрипт обновления файла resolv.conf
    up /etc/openvpn/update-resolv-conf
    down /etc/openvpn/update-resolv-conf
    
    cipher AES-256-CBC
    log /var/log/openvpn.log
    comp-lzo
    verb 3

    Готово.
    Заускаем
    # service openvpn start
    Проверяем что запустился
    # netstat -nlp -A inet | grep openvpn
    udp        0      0 0.0.0.0:443             0.0.0.0:*                           2075/openvpn

    Теперь важно открыть на Firewall UDP 443 на нужном интерфейсе.
    # ufw allow 443/udp
    И не забыть проверить и настроить SELinux если он установлен и включён.
    Если вдруг openvpn не запустился временно отключить SELinux можно так:
    # setenforce 0
    Дальше нужно включить автозапуск как на сервере так и на клиентах если это нужно.
    Для этого раскомментируем или добавим опцию AUTOSTART
    # mcedit /etc/default/openvpn
    ...
    AUTOSTART=all
    ...
    Ответ написан
    2 комментария
  • Как настроить DNS при использовании VPN?

    @younghacker
    Скорее всего имена ресолвятся через вашего провайдера.
    Вам правильно подсказали загдянуть в /etc/resolv.conf
    Можно ещё посмотреть, что вернёт в качестве сервера
    nslookup google.com

    Чтобы проверить отвечают ли ваши сервера (мало ли у вас настроен dnsmasq куда-то наружу) попробуйте
    nslookup somehost.company.local x.x.x.x
    где x.x.x.x адрес вашего фирменного dns
    Команда должна вернуть правильный адрес.

    Как вариант можно не push-ить адреса dns серверов через vpn, а поднять локально dnsmasq и настроить его чтобы он вашу зону company.local ресолвил с указанного вашего фирменного dns.
    cat /etc/dnsmasq.d/intranet.company.local.conf
    server=/company.local/x.x.x.x
    
    cat /etc/dnsmasq.conf
    interface=lo
    no-dhcp-interface=*
    bind-interfaces
    clear-on-reload
    local-ttl=3600
    neg-ttl=3600
    max-ttl=7200
    conf-dir=/etc/dnsmasq.d

    И в iptables можно перехватить все запросы на внешний tcp/udp 53 и завернуть их в локальный dnsmasq. Только на всякий случай оставить выход наружу только для nobody
    *nat
    :PREROUTING ACCEPT [0:0]
    :POSTROUTING ACCEPT [0:0]
    :OUTPUT ACCEPT [0:0]
    # dns requests from nobody are transparent
    -A OUTPUT -p tcp -m tcp --dport 53 -m owner --uid-owner nobody -j ACCEPT
    -A OUTPUT -p udp -m udp --dport 53 -m owner --uid-owner nobody -j ACCEPT
    # all other dns requests are routed to local resolver (dnsmasq)
    -A OUTPUT -p tcp -m tcp --dport 53 -j DNAT --to-destination 127.0.0.1
    -A OUTPUT -p udp -m udp --dport 53 -j DNAT --to-destination 127.0.0.1


    Третий способ — прописать необходимые адреса в
    /etc/hosts
    Ответ написан
    Комментировать
  • Как примонтировать LVM с внешнего диска?

    @younghacker
    Монтирование внешнего диска ничем не отличается от монтирования внутреннего диска.
    1.
    Подключайте физически диск.
    Смотрите подключился ли он:
    # fdisk -l
    Он должен присутствовать в списке

    Затем
    # vgscan --mknodes
    # vgchange -ay


    Затем монтируйте readonly если боитесь затереть данные
    # mount -t ext3 -o ro /dev/vg160/LogVol00 /mnt/yourmountpoint


    2.
    Если диски имели одинаковые имена групп, то нужно либо
    грузиться со внешнего диска,
    либо переименовывать группу по uuid

    # vgscan
    Reading all physical volumes. This may take a while...
    Found volume group "VolGroup00" using metadata type lvm2
    Found volume group "VolGroup00" using metadata type lvm2


    Не знаю как найти принадлежность LV к PV поэтому я
    пользовался различием в размерах дисков.
    # vgdisplay | grep -i 'name\|uuid'
      VG Name VolGroup00
      VG Size 148.94 GB
      PE Size 32.00 MB
      Total PE 4766
      Alloc PE / Size 4766 / 148.94 GB
      Free PE / Size 0 / 0
      VG UUID pkb1cy-1JSf-n3Px-UYRi-eImv-e1Eg-t12BgY
      VG Name VolGroup00
      VG Size 74.41 GB
      PE Size 32.00 MB
      Total PE 2381
      Alloc PE / Size 2381 / 74.41 GB
      Free PE / Size 0 / 0
      VG UUID SjBmkg-YvMz-B160-tEds-Vqrg-SFMS-mYNimL


    А теперь переименовываем группу по UUID
    # vgrename pkb1cy-1JSf-n3Px-UYRi-eImv-e1Eg-t12BgY MyNewGroupName


    # pvscan
    PV /dev/sda2 VG vg160 lvm2 [148.94 GB / 0 free] 
    PV /dev/hda2 VG VolGroup00 lvm2 [74.41 GB / 0 free] 
    Total: 2 [223.34 GB] / in use: 2 [223.34 GB] / in no VG: 0 [0 ]


    # lvscan
    inactive '/dev/vg160/LogVol00' [147.00 GB] inherit
    inactive '/dev/vg160/LogVol01' [1.94 GB] inherit
    ACTIVE '/dev/VolGroup00/LogVol00' [72.47 GB] inherit
    ACTIVE '/dev/VolGroup00/LogVol01' [1.94 GB] inherit


    # vgchange -a y

    # lvscan
    ACTIVE '/dev/vg160/LogVol00' [147.00 GB] inherit
    ACTIVE '/dev/vg160/LogVol01' [1.94 GB] inherit
    ACTIVE '/dev/VolGroup00/LogVol00' [72.47 GB] inherit
    ACTIVE '/dev/VolGroup00/LogVol01' [1.94 GB] inherit


    # mount -t ext3 -o ro /dev/vg160/LogVol00 /mnt/yourmountpoint
    Ответ написан
    Комментировать