ADMIN-GU.RU:>_
289 subscribers
3 photos
9 files
29 links
справочник сисадмина
Download Telegram
Server Public IP Address in Linux Terminal
Узнать белый (публичный) ip адрес из под которого Linux сервер выходит в сеть Интернет, при этом находясь за nat

Using cURL Command Line Downloader:
curl ifconfig.me

Using wget Command Line Downloader:
wget -qO - icanhazip.com

#linux
Добавление статического маршрута в ubuntu linux через конфиг netplan
Редактируем файл /etc/netplan/00-installer-config.yaml
Добавляем после search
    routes:
- to: 10.0.0.0/8
via: 192.168.2.10

Применяем конфигурацию
sudo netplan apply

Пример конфига /etc/netplan/00-installer-config.yaml
# This is the network config written by 'subiquity'
network:
ethernets:
ens160:
addresses:
- 192.168.2.21/24
gateway4: 192.168.2.1
nameservers:
addresses:
- 8.8.8.8
- 8.8.4.4
search: []
routes:
- to: 10.0.0.0/8
via: 192.168.2.10
version: 2

Просмотр маршрутов
ip route

#linux #netplan
Вывод содержания crontab файлов всех пользователей в linux
for user in $(cut -d':' -f1 /etc/passwd); do crontab -u $user -l; done

#linux #cron
Ошибка авторизации по ключу Authentication refused: bad ownership or modes for file /home/USER/.ssh/authorized_keys

Данная ошибка возникает из-за не правильных прав на директории и файлы.
Корректируем права:

1. Запрещаем запись в домашнюю директорию пользователя всем, кроме владельца
chmod go-w ~/

2. Разрешаем чтение, вход и запись в директории с настройками .ssh только владельцу.
chmod 700 ~/.ssh

3. Разрешаем читать и менять файл .ssh/authorized_keys только владельцу.
chmod 600 ~/.ssh/authorized_keys

#linux #ssh
CentOS 8 - Failed to download metadata for repo AppStream

После 31 декабря 2021 года перестали работать официальные репозитории проекта CentOS
Для решения проблемы меняем репозиторий

cd /etc/yum.repos.d/
sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*
sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*

#linux #centos
Добавление DNS suffix в Ubuntu 22.04
Раньше для добавления DNS суффикса требовалось изменить файл /etc/resolv.conf.
В новых версиях ОС ubuntu при изменение файла /etc/resolv.conf и перезагрузки сети файл перезапишется на дефолтные настройки.
Для добавления DNS суффикса:
1. sudo apt install resolvconf
2. Add in file /etc/resolvconf/resolv.conf.d/tail
search domain.ru

#linux #ubuntu
UFW Port forwarding to a different port
1. sudo ufw enable
2. sudo vi /etc/default/ufw
DEFAULT_FORWARD_POLICY="ACCEPT"
3. sudo vi /etc/ufw/before.rules
*nat
:PREROUTING ACCEPT [0:0]
-A PREROUTING -p tcp --dport 514 -j REDIRECT --to-port 5555
COMMIT
4. sudo ufw disable
sudo ufw enable

#linux #ubuntu
Убираем пустые и закомментированные строки утилитой grep

Вывод только активных строчек (без комментариев и пробелов) из конфига:
grep -v '^$\|^#' config.conf


если есть комментарии начинающиеся не с начала строки то используем:

grep -v '^$\|^\s*\#' config.conf


#linux #grep
Отличие каталогов conf.d, sites-available и sites-enabled в Nginx

После установки разных пакетов nginx, можно обнаружить разные комбинации этих директорий

1. В чем разница между sites-available и conf.d.
В основной файл конфигурации /etc/nginx/nginx.conf обычно включены обе директории через include
http {

include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}


sites-available -директория для хранения всех ваших конфигураций, независимо от того, включены они в данный момент или нет.
sites-enabled -содержит символические ссылки на файлы в sites-available, что позволяет выборочно включать/отключать vhosts, удаляя символическую ссылку.
conf.d -директория для хранения всех ваших конфигураций, для отключения сайта (конфигурации) требуется переименовать файл убрав .conf

2. На текущий момент Best Practice - это использовать conf.d, эта директория должна работать во всех пакетах nginx

#nginx #linux
Как в docker массово удалить все контейнеры, образы, тома и сети
Остановка всех контейнеров:
docker stop $(docker ps -qa)

Удаление всех контейнеров:
docker rm $(docker ps -qa)

Удаление всех образов:
docker rmi -f $(docker images -qa)

Удаление всх томов:
docker volume rm $(docker volume ls -q)

Удаление всех сетей:
docker network rm $(docker network ls -q)

Удалить все сразу одной строкой:
docker stop $(docker ps -qa) && docker rm $(docker ps -qa) && docker rmi -f $(docker images -qa) && docker volume rm $(docker volume ls -q) && docker network rm $(docker network ls -q)

#linux #docker
Увеличение тайм-аута запроса в NGINX

По умолчанию таймаут запроса NGINX составляет 60 секунд.

Блок http позволяет вносить изменения на всех серверах NGINX через файл /etc/nginx/nginx.conf

http{
...
proxy_read_timeout 600;
proxy_connect_timeout 600;
proxy_send_timeout 600;
...
}



Блок server в файлах каталогов /etc/nginx/sites-available и /etc/nginx/conf.d позволяет увеличить таймаут запроса только для определенного сервера или поддомена

server{
...
proxy_read_timeout 600;
proxy_connect_timeout 600;
proxy_send_timeout 600;
...
}


Перезапуск nginx
sudo systemctl restart nginx 


#nginx #linux