Добро пожаловать, Гость. Пожалуйста авторизуйтесь здесь.
FGHIGate на GaNJa NeTWoRK ST@Ti0N - Просмотр сообщения в эхоконференции RU.UNIX.BSD
Введите FGHI ссылку:


Присутствуют сообщения из эхоконференции RU.UNIX.BSD с датами от 18 Jan 11 22:51:00 до 18 Jan 24 18:16:22, всего сообщений: 10753
Ответить на сообщение К списку сообщений Предыдущее сообщение Следующее сообщение
= Сообщение: 8409 из 10753 ===================================== RU.UNIX.BSD =
От   : Eugene Grosbein                  2:5006/1           28 Dec 18 05:34:43
Кому : Dmitry Kolvakh                                      28 Dec 18 05:34:43
Тема : Re: Маршрутизация: две сетевых, static и dhcp
FGHI : area://RU.UNIX.BSD?msgid=grosbein.net+e9f9380c
На   : area://RU.UNIX.BSD?msgid=2:5054/89.1+5c24cf22
= Кодировка сообщения определена как: IBM866 =================================
Ответ: area://RU.UNIX.BSD?msgid=2:5054/89.1+5c274565
==============================================================================
27 дек. 2018, четверг, в 17:56 NOVT, Dmitry Kolvakh написал(а):

DK> Еще один нубский вопрос.
DK> Имеется две сетевых карты, на первой адрес задан статически, на второй DHCP.
DK> В rc.conf указан defaultrouter в сети первой карты.
DK> Для второй карты потребуется добавить в маршрутизацию пару-тройку сетей, но до
DK> этого не доходит - как только вторая карта получает адрес по DHCP, так она
DK> заодно переписывает на себя шлюз по умолчанию.
DK> В rc.conf написано так: ifconfig_em1="DHCP".
DK> Есть какое-нибудь волшебное слово, чтобы по DHCP брался только адрес, но не
DK> трогался шлюз по умолчанию?

DK> И тогда уж, есть ли возможность в статических маршрутах задавать не IP-адрес, а
DK> имя интерфейса? (т.к. неизвестно, что придет по dhcp). Типа так:
DK> static_routes="blabla"
DK> route_blabla="-net 192.168.0.1/24 em1"
DK> При попытке применить получаю ошибку "bad address em1".

Теоретически можно писать -iface em1, но по разным причинам
лучше так не делать, есть способ лучше. Я делаю такие вещи при помощи
dhclient-enter-hooks - механизма, позволяющего переопределять действия,
которые выполняет dhclient при различных событиях типа получения адреса.

Создаёшь скрипт /etc/dhclient-enter-hooks и пишешь в него:

# При получении адресов DNS-серверов ничего не делать
# (не трогать /etc/resolv.conf)
add_new_resolv_conf() {
  return 0
}

# При получении нового IP выполнять то же,
# что и стандартный add_new_address, но не трогать
# default route; плюс добавлять свои маршруты
add_new_address() {
# добавить адрес к интерфейсу
        eval "$IFCONFIG $interface \
                inet $new_ip_address \
                netmask $new_subnet_mask \
                broadcast $new_broadcast_address \
                $medium"
# сохранить адрес шлюза в interface description
        eval '$IFCONFIG $interface description "gw $new_routers"'

        $LOGGER "New IP Address ($interface): $new_ip_address"
        $LOGGER "New Subnet Mask ($interface): $new_subnet_mask"
        $LOGGER "New Broadcast Address ($interface): $new_broadcast_address"
        $LOGGER "New Routers ($interface): $new_routers"

# добавить свои маршруты
route add X.X.X.X/X $new_routers
route add Y.Y.Y.Y/Y $new_routers

# перезапустить ipfw ради перенастройки ipfw nat
        /etc/rc.d/ipfw start >/dev/null 2>&1
        return 0
}

Eugene
--
Поэты - страшные люди. У них все святое.
--- slrn/1.0.3 (FreeBSD)
* Origin: RDTC JSC (2:5006/1@fidonet)

К главной странице гейта
Powered by NoSFeRaTU`s FGHIGate
Открытие страницы: 0.099077 секунды