https://wiki.debian.org/NetworkConfiguration

Локальный IP

Команда Описание
ip -4 -c a Посмотреть текущий IP адрес, только ip4 и с выделением цвета
ip addr add 192.168.1.35/24 dev eth0Добавить дополнительный ip адрес для интерфейса eth0

Узнать внешний IP

Вывод в консоли внешнего адреса, PTR, провайдера сервера и страны на основе ipinfo.io

echo -e "\n\e[1;32m $(curl -s  ipinfo.io/ip) \e[1;33m $(curl -s  ipinfo.io/hostname) \e[1;36m $(curl -s ipinfo.io/org)\e[1;35m $(curl -s ipinfo.io/country) \e[0m\n "

или

MyIP=$(curl -s ipinfo.io/ip) \\
echo -e "\n\e[1;32m $MyIP \e[1;33m $(dig -x $MyIP +short) \e[1;36m $(curl -s ipinfo.io/org)\e[1;35m $(curl -s ipinfo.io/country) \e[0m\n "

или

curl -s http://checkip.dyndns.org | sed 's/[a-zA-Z<>/ :]//g'

Отправляется запрос на IP-адрес домена myip.opendns.com на DNS-сервер resolver1.opendns.com. Этот сервер запрограммирован таким образом, что при запросе этого специального домена в ответ отправляется IP, с которого поступил запрос.

dig +short myip.opendns.com @resolver1.opendns.com
sudo vim /etc/network/interfaces
auto lo
iface lo inet loopback
 
allow-hotplug wlan0
iface eth0 inet dhcp
 
auto eth0
iface eth0 inet manual #manual - нет настроек по умолчанию и может настриватся сценариями из  /etc/network/if-*.d.|
 
auto eth1 
allow-hotplug eth1
iface eth1 inet static
address 192.168.2.9
netmask 255.255.255.0
network 192.168.2.0
broadcast 192.168.2.255
gateway 192.168.2.1
dns-domain example.com
dns-nameservers 8.8.8.8

Посмотреть расположение файла сетевых настроек

sudo nmcli -f NAME,DEVICE,FILENAME connection show

или

sudo vim /etc/sysconfig/network-scripts/ifcfg-e[имя сетевого устройства]
| /etc/sysconfig/network-scripts/ifcfg-e
#Old Centos 7
 
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static   #BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
NAME=ens33
UUID=f5e4118c-dc69-4bc4-9221-74f42ab12970
DEVICE=ens33
ONBOOT=yes
HWADDR="ac:1f:6b:f6:3b:7e" #Можно не указывать
 
IPADDR=192.168.1.11
NETMASK=255.255.255.0 #PREFIX="24"
GATEWAY=192.168.1.1
DNS1=192.168.1.1
DNS2=8.8.8.8

Адрес DNS должен автоматом попасть в /etc/resolv.conf

Команда Описание
sudo systemctl restart NetworkManagerрестарт сети после изменения файла конфигурации
nmcliУтилита для управления NetworkManager и получения статуса сети, подробнее по ссылке ниже
nmcli dпросмотр статуса текущего подключения
nmtui настройка сети через графику

Клиенты могут брать настройки DNS из

  • glibc
  • nsswitch.conf
  • resolv.conf
  • NetworkManager
  • resolvconf
  • systemd-resolved
  • hosts
  • dhclient.conf

Windows шлет DNS запросы одновременно на все сервера, но обязательно дожидается ответа или таймаута от 1-го. Linux сначала обращается к 1-му DNS в списке и только в случае ошибки переходит к следующему.

DIG онлайн

Команда Описание
dig -vПосмотреть версию
sudo apt-get install dnsutilsУстановка в Debian / Ubuntu
sudo yum install bind-utilsУстановка в CentOS / RedHat
dig [server] [name] [type]
dig @8.8.8.8 google.com запросить запись google.com у сервера 8.8.8.8
dig google.com ANYПолучить все записи
dig google.com TXTПолучить TXT записи
dig google.com +noall +answer Получение детальной информации
dig google.com +trace Трассировка DNS запроса
dig +noall +answer -x 172.217.14.23
dig @8.8.4.4 mail.ru -t mx +short получить MX записи для домена mail.ru в коротком виде

Добавить в .bashrc

dig-color () {
  dig $* | awk '
    !/^;/    { print "\033[1;32m"$0 }
    /^;[^;]/ { print "\033[1;35m"$0 }
    /^;;/    { print "\033[1;36m"$0 }
    END      { print "\033[0m" }
  ';
}

Информация о домене для почтового администратора.

#!/bin/bash
#trap 'echo "# $BASH_COMMAND";read' DEBUG
 
BLACK='\e[30m'
RED='\e[31m'
GREEN='\e[32m'
YELLOW='\e[33m'
BLUE='\e[34m'
MAGENTA='\e[35m'
CYAN='\e[36am'
 
ENDCOLOR='\e[0m'
 
LIGHTRED='\e[91m'
LIGHTGREEN='\e[92m'
LIGHTYELLOW='\e[93m'
LIGHTBLUE='\e[94m'
LIGHTMAGENTA='\e[95m'
LIGHTCYAN='\e[96m'
WHITE='\e[97m'
 
BGRED='\e[41m'
BGGREEN='\e[42m'
BGYELLOW='\e[43m'
BGMAGENTA='\e[45m'
BGCYAN='\e[46m'
 
BOLDGREEN="\e[1;${GREEN}m"
ITALICRED="\e[3;${RED}m"
PINK="\e[38;5;198m"
BGPINK="\e[48;5;198m"
 
echo -e "\n${WHITE}${BGRED}----- $* -----${ENDCOLOR}"
 
echo -e "\n${BLACK}${BGGREEN}----------- A ----------${ENDCOLOR}${LIGHTGREEN}"
dig $* A  +short
 
echo -e "\n${BLACK}${BGPINK}---------- MX ----------${ENDCOLOR}${PINK}"
 
  mxhosts=$(dig $* MX  +short | sort|sed 's/ /_/')
 
for mxserver in $mxhosts; do
        mxservername=$(echo $mxserver | sed -r  's/.*_(.*)\.$/\1/')
  echo -e "\n--- $mxserver --- "
  timeout 1 echo 'QUIT' | nc $mxservername 25
done
 
echo -e "\n${BLACK}${BGYELLOW}------ MX->IP->PTR -----${ENDCOLOR}${YELLOW}"
 
for i in `dig mx +short $*|cut -f2 -d ' '`; do
iphost=`dig a +short $i`
 
iplist=$(echo -e $iphost |  sed ':a;N;$!ba;s/\n/ /g')
 
echo -e "Host:\t$i\t\t$iplist"
  for y in $iphost;do
   ptrdns=`dig -x $y +short`
 
#   echo -e "\t$y\t\t$ptrdns"
                if [ -n "$ptrdns" ]; then
           echo -e "\t$y\t\t$ptrdns"
                   echo -e "\t$ptrdns\t\t$(echo `dig a +short $ptrdns`|sed ':a;N;$!ba;s/\n/ /g')";
        else
                   echo -e "\t$y\t\tPTR not found"
                fi
 
  done
done
 
echo -e "\n${BLACK}${BGMAGENTA}--------- TXT ----------${ENDCOLOR}${LIGHTMAGENTA}"
dig $* TXT  +short |grep -e "spf" --color=never
 
echo -e "\n${BLACK}${BGCYAN}--------- DMARC --------${ENDCOLOR}${LIGHTCYAN}"
dig _dmarc.$* TXT +short
echo -e "\033[0m"
: 'Комментарий
 
'

IPV6

в sysctl.conf

$ vim /etc/sysctl.conf

net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
net.ipv6.conf.eth0.disable_ipv6 = 1

Затем выполняем

$ ss -lnptu | sort $ sysctl -p

в grub

$ sudo vim /etc/default/grub

GRUB_CMDLINE_LINUX_DEFAULT="ipv6.disable=1 quiet splash"

$ sudo update-grub

resolvconf

Начиная с Debian 10 запрещено ручное изменение файла /etc/resolv.conf - для его модификации существует специальная служба resolvconf.

sudo apt-get install resolvconf -y
sudo systemctl status resolvconf
sudo systemctl start resolvconf.service
sudo systemctl enable resolvconf.service
sudo systemctl status resolvconf.service
  sudo vim /etc/resolvconf/resolv.conf.d/head
     nameserver 46.8.61.10
     nameserver 46.8.61.20
     nameserver 8.8.8.8

После проделанных действий запускаем команду ниже или отправляем сервер в ребут командой reboot

    sudo resolvconf -u   #Обновляет resolv.conf

На этом настройка NS и редактирование файла /etc/resolv.conf завершено. Проверяем что у нас в файле #cat /etc/resolv.conf

сброс кэша DNS. Он выполняется командой resolvectl flush-caches. При её выполнении в консоль не происходит никакого вывода

перезапуск службы через systemctl restart systemd-resolved.service

netstat

Команда Описание
sudo apt install net-toolsУстановка в Debian, Ubuntu and Mint
sudo yum install net-toolsУстановка в RHEL/CentOS/Fedora and Roc
sudo netstat -an | grep ESTABLISHED текущие соединения
sudo netstat -ntlp список IP, портов и сервисов
sudo netstat -tulpn | grep LISTENПорты, которые слушает хост
sudo ss -tulpn
sudo ss -tulpn | column -s' 'Вывод в виде таблицы
sudo ss -tulpn | grep :3306

netcat

Команда Описание
sudo nc -zv 192.168.31.5 22 Проверка доступности порта TCP
sudo nc -ul 5555 Поднимаем сервис на порте 5555 UDP, набираемые в клиенте буквы будут отображаться на сервере
sudo nc -u 192.168.31.5 5555 Проверка доступности порта UDP

ss

Команда Описание
ss -aСписок всех сокетов
ss -n4Отображение текущих установленных сессий, n - цифры, 4 - IP4
ss -nlt4Текущие слущающие сессии, за которыми есть демон
sudo ss -altnp4 \ grep sshdПосмотреть на каком порту сидит sshd

faill2Ban

Команда Описание
sudo zgrep 'Ban' /var/log/fail2ban.log*Посмотреть список забаненных IP

tcpdump

Команда Описание
sudo tcpdump -i <имя интерфейса> udp port 53Проверить доступность порта наружу, в одном терминале запустить команду, в другом выполнить запрос

MTU

sudo ip link set mtu 1500 <имя интерфейса>