LINUX.ORG.RU

Какой из IP адрессов будет внешним?

 , ,


1

2

Есть сетевой интефейс eth0 под CentOS 7. Есть несколько айпишников на нем (статика от ISP).

Какой из айпишников система выбирает для того, чтобы выйти во внешний мир?

Это можно конфигурировать?

Это всегда будет IPADDR1 или нет?

Ответ на: комментарий от maxlinux

Ну очевидно ip route тебе покажет какой аддрес оно будет использовать для выхода в мир в соответствии с таблицей маршрутизации.

Кстати в скриптах можно вот так:

ip --json route get 8.8.8.8 | jq --raw-output '.[0].prefsrc'

sphericalhorse ★★★★★
()
Ответ на: комментарий от sphericalhorse

А стандартный маршрут в таблице маршрутизации судя по всему выбирается из того что вернул DHCP-сервер провайдера.

sphericalhorse ★★★★★
()
Ответ на: комментарий от maxlinux

Принцип - исходя из того, что находится в таблицах и правилах маршрутизации.

turtle_bazon ★★★★★
()
Ответ на: комментарий от maxlinux

Посмотреть текущий исходящий адрес для маршрута можно в выводе ip r, параметр src. Задать можно с использованием этого же параметра, приблизительно так:

ip r replace default via 192.168.1.1 src 192.168.1.55

ЕМНИП, по дефолту выбирается первый полученный адрес из той же подсети, что и шлюз.

unicorne
()
Ответ на: комментарий от unicorne

а как прописать это в конфиге?

# IP-1
IPADDR0="10.10.10.10"
PREFIX0="24"
GATEWAY0="10.10.10.1"

# IP-2
IPADDR1="20.20.20.20"
PREFIX1="24"
GATEWAY1="20.20.20.1"

Всегда будет выбираться IPADDR0 как адрес по умолчанию?

ip route выводит что-то типа вот такого:

default via 10.10.10.1 dev eth0 proto static metric 100
10.10.10.0/24 via 10.10.10.1 dev eth0
10.10.10.0/24 dev eth0 proto kernel scope link src 10.10.10.10 metric 100
20.20.20.0/24 dev eth0 proto kernel scope link src 20.20.20.20 metric 100

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

в /usr/share/doc/initscripts-9.49.53/sysconfig.txt есть IPADDRn но нет METRICn

maxlinux
() автор топика
Последнее исправление: maxlinux (всего исправлений: 1)
Ответ на: комментарий от unicorne

первый полученный адрес из той же подсети, что и шлюз

смущает слово «полученный» ))

maxlinux
() автор топика
Ответ на: комментарий от maxlinux

Всегда будет выбираться IPADDR0 как адрес по умолчанию?

Честно говоря, мне не очень понятна логика центоси здесь. Иметь возможность указывать несколько шлюзов для одного хоста - весьма странно. Рекомендую просто удалить ненужный шлюз.

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

Если хочется поиграться с метриками, то лучше использовать NetworkManager/nmcli, т.к. обычная ручная настройка в /etc/sysconfig/ у центоси весьма ограничена. Более приоритетным будет маршрут с низшей метрикой.

смущает слово «полученный» ))

Полученный, назначенный - тут особо разницы нет.

unicorne
()
Ответ на: комментарий от unicorne

Честно говоря, мне не очень понятна логика центоси здесь. Иметь возможность указывать несколько шлюзов для одного хоста - весьма странно

Небольшое дополнение (мимо проходил :)

Шлюз по умолчанию для интерфейса, в конфиге указывается всё же один. А для постоянных хитрых маршрутов, есть отдельный файл, и эти нумерованные настройки указываются уже там.

Выдержка из доки:

/etc/sysconfig/network-scripts/ifcfg-<interface-name> and
/etc/sysconfig/network-scripts/ifcfg-<interface-name>:<alias-name>:
...
    IPADDRn=
    PREFIXn=
      Network prefix.  It is used for all configurations except aliases
      and ippp devices.  It takes precedence over NETMASK when both
      PREFIX and NETMASK are set.
...
    GATEWAY=
    METRIC=
      Metric for the default route using GATEWAY
...

/etc/sysconfig/network-scripts/route-<interface-name>
  Contains lines that specify additional routes that should be added when the
  associated interface is brought up.

  The files are processed by the ifup-routes script and uses the /sbin/ipcalc
  utility for all network masks and numbers. Routes are specified using the
  syntax:

    ADDRESSn=<network>
    NETMASKn=<network/prefix mask>
    GATEWAYn=<next-hop router/gateway IP address>
....
NDfan
()
Ответ на: комментарий от NDfan

если прописать просто GATEWAY то сервер недоступен

надо GATEWAY0 или GATEWAY1, внешним становится тот айпишник который 0 или 1 если 0 нету

maxlinux
() автор топика
Ответ на: комментарий от maxlinux

Маршруты принято прописывать в ″/etc/sysconfig/network-scripts/route-<interface-name>″. default тоже маршрут, его можно прописывать в ″route-<interface-name>″, а GATEWAYx в ″ifcfg-<interface-name>″ вобще не прописывать. Если ifup-routes ещё понимает «старый» формат ″route-<interface-name>″, то там вполне можно и метрики маршрутам указывать.

можно ли указать метрику для разных статических айпишников?

Метрики есть только для маршрутов, всегда выбирается с меньшей среди одинаковых маршрутов.

mky ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.