Ответы пользователя по тегу Linux
  • Как перенаправить Google DNS на свои?

    hint000
    @hint000
    у админа три руки
    iptables -A PREROUTING -s 192.168.0.0/16 ! -d 192.168.0.0/16 -p udp --dport 53 -j DNAT --to-destination 192.168.11.11
    192.168.11.11 - адрес вашего DNS
    Ответ написан
    Комментировать
  • Как отправлять часть запросов через VPN?

    hint000
    @hint000
    у админа три руки
    (с учётом уточнений в комментариях)
    Это совершенно не зависит от использования NGINX, ASP.NET и т.п.
    1. поднять VPNC (инструкцию нагуглить);
    2. прописать маршрут к серверу (где лежат данные) через настроенный VPN.
    Как бы всё.
    Первоначальный вопрос неправильно сформулирован. Не часть пакетов\запросов через VPN, а доступ к конкретному серверу через VPN. Задача типовая и простая, вот только цисковский VPN - дикая экзотика.
    Ответ написан
    6 комментариев
  • Как правильно дать права на настройку сети ubuntu?

    hint000
    @hint000
    у админа три руки
    Примерно:
    1. дать права Василию Пупкину на чтение и запись в /etc/network/interfaces
    2. написать скрипт рестартующий сеть
    3. дать права Василию Пупкину на чтение и исполнение скрипта, но не на запись
    4. дать права Василию Пупкину на чтение и исполнение для папки, в которой лежит скрипт, но не на запись в эту папку
    5. прописать в /etc/sudoers полный путь к скрипту и права его выполнять от имени Василия Пупкина
    Ответ написан
    Комментировать
  • Странное поведение кнопок в Линукс Минт?

    hint000
    @hint000
    у админа три руки
    Это проблема с колесом мыши. Можно легко проверить: открыть Firefox, отключить мышь и нажать Ctrl - если проблема исчезла, значит догадка верная.
    Ответ написан
    Комментировать
  • Как подсчитывать объем папки в реальном времени?

    hint000
    @hint000
    у админа три руки
    Вопрос надо бы исправить, хотите статистику по самым толстым папкам, а спрашиваете совсем другое. Хорошие ответы про ncdu. Добавлю ещё вариант с GUI, это baobab. Очень наглядно, наводите мышку на разные сектора и видите подсказки:
    5e1bcdab9e72b622125239.png
    Ответ написан
    Комментировать
  • Как правильно переносить сайт на другой сервер?

    hint000
    @hint000
    у админа три руки
    У каждого конкретного сайта могут быть какие-то свои особенности, про которые никто ни в одном руководстве не напишет, и здесь заранее никто не угадает. Поэтому гарантированной 100%-победной последовательности действий не существует. Поэтому админа с головой пока не могут заменить скрипты. Вам нужно переносить так, чтобы вы могли протестировать сайт на новом месте до того, как отрубите на старом. В этом плане совершенно верно вы ставите работу с DNS последним пунктом. Но между 4 и 5 должно быть тестирование.
    Если у вас домен zxcvbnm.tld, то можете сперва назначить новому серверу test.zxcvbnm.tld, добавить это имя в конфиг nginx и тестировать, заходя по этому имени. Если что-то не работает, то обнаруживаете те самые нюансы, про которые не пишут в руководствах, но которые есть именно у вас. Будем считать, что тестирование прошло удачно.
    5.1. добавляете в DNS новый адрес для zxcvbnm.tld. Старый пока не убираете. Т.е. zxcvbnm.tld будет резолвиться в два адреса.
    5.2. Идёте пить чай,
    пока записи в DNS не обновятся.
    5.3. Смотрите логи на новом сервере, убеждаетесь, что пара юзеров (или пара тысяч...) уже попали на новый сервер, и явных ошибок не заметно (если посыпались ошибки, то откатываете изменения DNS и разбираетесь с ошибками).
    5.4. Всё нормально - убираете из DNS адрес старого сервера.
    5.5. Если срочности нет, то лучше оставить в этом состоянии хотя бы на несколько часов а то и до следующего дня. Обязательно найдутся юзеры, у которых DNS крепко закэшировался, и обновится позже положенного срока.
    5.5. Смотрите логи на старом сервере, убеждаетесь, что поток юзеров прекратился, выключаете там сайт.

    P.S. Это всё годится в случае, если БД не содержит чего-то, что всегда должно быть в актуальном состоянии (я про всякие интернет-магазины, соц.сети и т.п.), там перенос БД был бы самым замороченным пунктом.
    стоит ли перед этим закрывать сайт на техническое обслуживание?
    Суть в том, чтобы пользователи даже не заметили перенос. Тогда и закрывать не нужно. Возможно, такие закрытия на тех.обслуживание во многом связаны как раз со сложным переносом БД, когда компании не хватает технических средств, чтобы сделать такой перенос БД незаметным.
    Ответ написан
    1 комментарий
  • Почему htop и gnome-system-monitor по разному выводят количество ОЗУ?

    hint000
    @hint000
    у админа три руки
    5df39336e1e3a451958594.png
    Предположу, что gnome-system-monitor показывает сумму used + buffers + cache, а htop у вас показывает только used. Настройте htop как у меня (в части Mem) - будет интереснее. :)

    Upd. xolst9,
    но никак не кеш (+cache)
    пожалуй, вы правы, зачеркнул в ответе.
    Ответ написан
    5 комментариев
  • Какие есть варианты переустановки ОС на сервере в продакшене?

    hint000
    @hint000
    у админа три руки
    Речь ведь о линуксовом сервере. Драйверы в ядре (если мы не говорим о принтерах и т.п.). Также мы не говорим про аппаратный RAID (потому что mdadm). С большой вероятностью заработает сразу. Сlonezilla не нужна, достаточно dd.

    Но слово "продакшен" напрягает, т.к. лучше бы предварительно потренироваться, проделать всё это на тестовом железе. И обязательно предусмотрите "план Б" - быстрый откат изменений, если что-то пойдёт не так.

    Добавил в раздел похожих вопросов (там задача другая, но смыслы пересекаются): Как поднять Linux сервер на VirtualBox с возможностью последующего переноса на физический сервер?
    Ответ написан
  • Как определить число объектов в директории (файлов и папок)?

    hint000
    @hint000
    у админа три руки
    есть ли встроенные средства в Linux

    Если нужно количество объектов непосредственно в указанной директории, то
    ls -l -A /home | wc -l
    Если нужно количество объектов вместе с рекурсивно вложенными в поддиректориях, то
    find /home | wc -l
    В обоих случаях имя целевой директории для примера взято /home
    Ну и результат плюс-минус один-два, :) лень было учитывать заголовки. Если актуально количество с точностью до единицы, то поправите.
    Ответ написан
    Комментировать
  • Как правильно сделать отказоустойчивый OpenVPN?

    hint000
    @hint000
    у админа три руки
    5dbfa6c8d2455482440476.png
    а дальше обычная маршрутизация
    Ответ написан
    Комментировать
  • Какая разница между командами poweroff и shutdown -P now?

    hint000
    @hint000
    у админа три руки
    user@localhost:/sbin$ ls -l poweroff
    lrwxrwxrwx 1 root root 14 Sep  5 18:01 poweroff -> /bin/systemctl
    
    user@localhost:/sbin$ ls -l shutdown 
    lrwxrwxrwx 1 root root 14 Sep  5 18:01 shutdown -> /bin/systemctl


    Почти никакой разницы, обе команды - всего лишь симлинки на один и тот же файл. Но shutdown позволяет задать время, а в poweroff (согласно man'у) такой параметр не предусмотрен.
    Ответ написан
    Комментировать
  • Как выйти в интернет не через vpn?

    hint000
    @hint000
    у админа три руки
    Я бы решал такую задачу добавлением второго роутера
    5d33d3a393017933814007.png
    (у пользователя справа только шлюзом другой роутер прописан)
    Ответ написан
    Комментировать
  • Как выключить Windows через Linux?

    hint000
    @hint000
    у админа три руки
    #!/bin/bash
    DOMAIN="roga-i-kopyta.com"
    USER="V.Pupkin"
    PASS="Pa$$w0rd"
    HOST="192.168.77.66"
    net rpc shutdown -f -U "$DOMAIN"'\'"$USER"'%'"$PASS" -t 2 -I "$HOST"
    Ответ написан
    Комментировать
  • Как пустить PREROUTING iptables через фильтр?

    hint000
    @hint000
    у админа три руки
    хочу попробовать закрыть все публичные порты и открывать их для каждого пользователя индивидуально.
    Это называется доступом по белому списку. Ниже пример, как можно это сделать. Только у меня это не в формате исполняемого шелл-скрипта, а в формате конфига, загружаемого командой iptables-restore.
    # example
    
    *nat
    :PREROUTING ACCEPT [0:0]
    :INPUT ACCEPT [0:0]
    :OUTPUT ACCEPT [0:0]
    :POSTROUTING ACCEPT [0:0]
    
    # WhiteList (разрешенные внешние клиенты)
    -N Wht
    -A Wht -s 1.2.3.4      -j RETURN
    -A Wht -s 2.3.4.5      -j RETURN
    # разрешенная подсеть
    -A Wht -s 3.4.5.0/24 -j RETURN
    # ...
    
    # go to hell
    -A Wht  -j DNAT --to-destination 192.168.99.99
    
    -A PREROUTING ! -s 192.168.0.0/16 -p tcp --dport 22 -j Wht
    -A PREROUTING ! -s 192.168.0.0/16 -p tcp --dport 22 -j ACCEPT
    
    -A PREROUTING ! -s 192.168.0.0/16 -p tcp --dport 80 -j Wht
    -A PREROUTING ! -s 192.168.0.0/16 -p tcp --dport 80 -j DNAT --to-destination 192.168.42.18:80
    
    -A PREROUTING ! -s 192.168.0.0/16 -p tcp --dport 8080 -j Wht
    -A PREROUTING ! -s 192.168.0.0/16 -p tcp --dport 8080 -j DNAT --to-destination 192.168.42.19:80
    
    -A PREROUTING -s 192.168.0.0/16 -j ACCEPT
    
    COMMIT

    поясню насчёт 192.168.99.99 - этот адрес я выбрал (произвольно, можно любой другой) в качестве "чёрной дыры", куда можно невозбранно отправлять ненужные пакеты. Прописана "дыра" командой ip route add blackhole 192.168.99.99
    Ответ написан
    1 комментарий
  • Почему возникает ошибка iptables-restore?

    hint000
    @hint000
    у админа три руки
    Проверьте, что после COMMIT перевод строки есть.
    Ответ написан
    1 комментарий
  • Почему перестает отвечать Ubuntu server 16.04.5?

    hint000
    @hint000
    у админа три руки
    В первой строчке лога видно, что процесс apport вызвал segfault; при следующем сбое посмотреть, будет ли это снова процесс apport. Если снова будет проблема из-за него, то попробовать удалить пакет apport sudo apt remove apport (без этого пакета прекрасно можно жить)
    Если в следующий раз в логах будет указан другой процесс, то велика вероятность, что это проблема с железом. А среди железа - в первую очередь подозрение на оперативку. Т.е. нужно будет прогнать полный тест оперативки.
    Ответ написан
    Комментировать
  • Как пробросить порт в ubuntu?

    hint000
    @hint000
    у админа три руки
    добавить
    -A FORWARD -d 192.168.42.10 -p tcp -m tcp --dport 3389 -j ACCEPT
    в любом месте выше этой строки:
    -A FORWARD -j DROP
    обратите внимание, что в форварде порт уже проброшенный, т.е. 3389, а не 55658
    Ответ написан
    2 комментария
  • Как поставить пароль на папку в linux?

    hint000
    @hint000
    у админа три руки
    Вместо папки раздел диска и LUKS для шифрования раздела. Для монтирования раздела достаточно тыкнуть по нему из файл-менеджера. При монтировании запрашивает пароль, задержка две-три секунды (не засекал если честно). Для отмонтирования раздела - ещё пара кликов в файл-менеджере. Поскольку это нативный инструмент в Линуксе (причём удобный и даже без глюков), то как-то думал, что все его используют.
    Ответ написан
    1 комментарий
  • Как привести HDD к состоянию "Как из магазина"?

    hint000
    @hint000
    у админа три руки
    ведь удаление разделов [...] не достаточно?
    - достаточно, если речь не идёт об удалении секретной информации при передаче диска третьим лицам. При синхронизации массива всё равно старая информация на этом диске будет затёрта.
    В программый RAID добавляют заранее созданный раздел с типом =fd (Linux raid autodetect).

    как проверить что загрузчик GRUB, установлен на оба hdd
    - не надо проверять, надо просто установить его на новый диск. Как установить, и как указать, на какой диск устанавливать - гуглится легко.
    Ответ написан
    1 комментарий