Основы сетей Linux

Основы сетей Linux
Photo by Uriel SC / Unsplash

основы сетей

ping -4 google.com # пингукт по протоколу ip v4
ping -6 google.com # пингукт по протоколу ip v6
ping site.ru -s 5000 # пинг с размером пакета 5000 байт
host google.com # узнать ip addres хоста
curl google.com # http запрос на гугл

трассировка маршрута и перехват трафика

traceroute google.com # показывает путь пакета до конечного узла 
tracepath google.com # обновленный tracerout
mtr google.com # удобный tracerout!

sudo tcpdump not port 22 # перехват трафика кроме ssh
sudo tcpdump -i any port 9100 -nn # перезватить трафик со всех сетевых интерфейсов на порту 9100, не переводить ip в dns

утилиты ip

ip link # показать список интерфейсов устройства
ip neighbor show # показать список соседних устройств в сети
ip -j address show dev wlo1 | jq # вывести инфо об wlo1 в JSON
sudo ip link set dev wlo0 down # отключить сетевой интерфейс wlo0
sudo ip link set dev wlo0 down # включить сетевой интерфейс wlo0

ip a # информация о нашей машине
ifconfig # информация о нашей машине
ip -4 address show # просмотр ip адресов v4 на устройстве
ip -6 address show # просмотр ip адресов v6 на устройстве
ip route # показать список возможных маршрутов в интернет
ip -j route show default | jq # вывести дефолтный маршрут в JSON
ip r # показать информацию о маршрутах

dig, nslookup, curl

dig google.com #запрос к dns google.com
nslookup velikanchik.ru #узнать ip по dns
dig @8.8.8.8 velikanchik.ru #запросить у гуглового dns сервера информацию по velikanchik.ru

curl -Lv google.com #получить развернутый ответ на http запрос

сокеты/порты

netstat # посмотреть все занятые порты
netstat -l# посмотреть порты которые мы слушаем
netstat-tl # посмотреть сокеты TSP которые мы слушаем
netstat-ul # посмотреть сокеты UDP которые мы слушаем
		-p # отобразить процесс на порте
		-n # нумерация?
netstat -tulnp #показывает процессы, которые слушают сетевые порты
netstat -rn # показать информацию о маршрутах

ss # посмотреть все занятые порты
	-s # посмотреть статистику
	-t #TCP
	-u # UDP
	-a # all
ss -o state established '( dport = :https or sport = :https )' # все установленные соединения по порту https
ss -lntu #показывает процессы, которые слушают сетевые порты

Все изменения в сети живут до ближайшей перезагрузки машины, что бы изменения стали перманентны используй рендерер конфигурация Netplan

Еще одна интересная статья на хабре: Шпаргалка системного администратора по сетевым инструментам Linux

Read more

Логи попыток входа по SSH

Логи попыток входа по SSH

Основанно на этой статье cat /var/log/auth.log grep "Failed password" /var/log/auth.log grep "failure" /var/log/auth.log Используя функционал команд awk, uniq и sort, можно определить, с каких IP-адресов было наибольшее количество неудачных попыток установления SSH-соединений: grep "Failed password"

Аутентификация SSH по ключу

Аутентификация SSH по ключу

1. Создайте ключ на локальном компьютере: запустите терминал и выполните команду ssh-keygen. Задайте пароль (кодовую фразу) для ключа, или можно несколько раз нажать Enter. cat ~/.ssh/id_rsa #посмотреть приватный ключ cat ~/.ssh/id_rsa.pub #посмотреть публичный ключ 1. Скопируйте ключ на сервер: выполните в терминале команду ssh-copy-id user@

Docker manual

Docker manual

Base of Docker sudo systemctl start docker #start docker demon manually docker ps #показывает список запущенных контейнеров docker ps -a #показывает список запущенных и остановленных контейнеров docker container ls #аналогично docker images #показывает список локальных образов docker run hello-world #создание контейнера из образа hellp-world --name simple_name #задаем имя контейнеру