Утилита ifconfig (net-tools)

  • > Установка пакета (Debian/Ubuntu): apt-get install net-tools
  • > Вывод всех сетевых интерфейсов в системе: ifconfig -a
  • > Установка IP-адреса и маски для интерфейса: ifconfig eth0 10.32.32.2 netmask 255.255.255.0
  • > Включить сетевой интерфейс: ifconfig eth0 up
  • > Выключить сетевой интерфейс: ifconfig eth0 down

Утилита route

  • > Просмотр текущей таблицы маршрутов: route -n
  • > Добавление маршрута по умолчанию (шлюза): route add default gw 10.32.32.1
  • > Удаление маршрута по умолчанию: route del default gw 10.32.32.1
  • > Добавление статического маршрута к сети: route add -net 10.32.24.0 netmask 255.255.255.0 gw 10.32.32.1
  • > Удаление статического маршрута к сети: route del -net 10.32.24.0 netmask 255.255.255.0

Современная утилита ip (iproute2)

  • > Вывод всех сетевых интерфейсов в системе: ip link show
  • > Установка IP-адреса и маски подсети для интерфейса: ip addr add 10.32.32.2/24 dev eth0
  • > Вывод подробной информации об интерфейсе: ip addr show eth0
  • > Просмотр текущих маршрутов: ip route show
  • > Добавление маршрута по умолчанию: ip route add default via 10.32.32.1
  • > Удаление маршрута по умолчанию: ip route del default via 10.32.32.1
  • > Добавление статического маршрута: ip route add 10.32.24.0/24 via 10.32.32.1
  • > Удаление статического маршрута: ip route del 10.32.24.0/24

Network Address Translation (NAT)

Для использования NAT в Linux необходим установленный iptables, а также должна быть включена маршрутизация в ядре.

  • > Проверка статуса маршрутизации (должна показать 1): cat /proc/sys/net/ipv4/ip_forward
  • > Включить маршрутизацию на лету: echo 1 > /proc/sys/net/ipv4/ip_forward
  • > Выключить маршрутизацию на лету: echo 0 > /proc/sys/net/ipv4/ip_forward
  • > Чтобы постоянно включить маршрутизацию, изменить файл /etc/sysctl.conf и добавить или раскомментировать строку: net.ipv4.ip_forward = 1
  • > Включение трансляции адресов NAT (где enp1s0 — локальный интерфейс, enp3s0 — интерфейс в интернет): iptables -t nat -A POSTROUTING -o enp3s0 -j MASQUERADE
    iptables -A FORWARD -i enp1s0 -j ACCEPT

Расширенные таблицы маршрутизации (Policy Routing)

  • > Просмотр всех правил маршрутизации (IP Rules): ip rule show
  • > Просмотр конкретной таблицы маршрутизации (например, T1): ip route show table T1
  • > Добавление правила для маршрутизации через конкретную таблицу: ip rule add from 10.32.32.0/24 table T1
  • > Удаление правила маршрутизации: ip rule del from 10.32.32.0/24 table T1