Jump to content

Recommended Posts

Posted

Здравствуйте. Есть вот такой простой вопрос.

 

Шлюз в сети на Linux (Debian).

Два внешних канала с IP 1.x.x.x, 2.x.x.x.

Свой блок IP 3.x.x.x + BGP.

 

Есть следующий момент - при любых сетевых запросах с самого шлюза выбирается IP интерфейса 1.х.х.х или 2.х.х.х.

Как правильно присвоить серверу IP alias 3.0.0.1, чтобы источником у всех исходящих пакетов с самого сервера был именно этот адрес?

Posted (edited)

дефолтом по умочалнию будет ип с наименьшей маской и значениями ипов.

то есть если у вас будет

10.0.0.1/16

и

10.200.0.1/17

 

то 10.0.0.1/16 будет дефолтом.

Edited by Melanxolik
Posted

Указывать в запросах ip 3.0.0.1?

Та не... вот стоит на сервере 396 сервисов, которые лезут в инет. И что каждому в настройках указывать SourceIP?  :)

 

Нашёл вот такую опцию...

ip addr add 1.0.0.2 dev eth0 scope link

ip addr add 3.0.0.1 dev eth0 scope global

 

На первый взгляд вроде работает и вроде то что мне нужно  :)

Posted

ip route add default via адрес шлюза src нужный адрес

Если не хочется ставить маршрут вручную, то первый адрес на интерфейсе для дефолтроута будет исходящим адресом по умолчанию (в конфиге местами поменяйте объявление адресов)

Posted

Решил вот так:

 

/etc/network/interfaces

auto eth2
allow-hotplug eth2
iface eth2 inet static
        address 3.0.0.1
        netmask 255.255.255.255
        up ip addr add 1.0.0.2/30 dev $IFACE scope link label $IFACE:1
        down ip addr del 1.0.0.2/30 dev $IFACE scope link label $IFACE:1

auto eth4
allow-hotplug eth4
iface eth4 inet static
        address 3.0.0.1
        netmask 255.255.255.255
        up ip addr add 2.0.0.2/30 dev $IFACE scope link label $IFACE:1
        down ip addr del 2.0.0.2/30 dev $IFACE scope link label $IFACE:1
Posted

Сие есть изврат.

Если уж хочется что бы сходило с 3.0.0.1, то прибейте его на Lo и дальше при помощи src модифицируйте дефолт роут.

Если эе БЖП держите при помощи той же Zebra, то для нее есть конструкция как src подменять.

Posted

Изврат который был до этого я выкладывать не буду  :lol:

 

Можно детальнее по поводу Lo? Разве будет ОС выставлять источником пакета IP принадлежащий другому интерфейсу (без дополнительных манипуляций/извратов)?

Posted

Изврат который был до этого я выкладывать не буду  :lol:

 

Можно детальнее по поводу Lo? Разве будет ОС выставлять источником пакета IP принадлежащий другому интерфейсу (без дополнительных манипуляций/извратов)?

 

 

[root@d10 ~]# ip addr ls dev lo
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet 193.XXX.XXX.17/32 brd 193.XXX.XXX.17 scope global lo:1
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever


[root@d10 ~]# ip addr ls dev bond0
10: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue
    link/ether 00:e0:81:b7:f5:43 brd ff:ff:ff:ff:ff:ff
    inet 172.XX.XX.66/30 brd 172.XX.XX.67 scope global bond0
    inet6 fe80::2e0:81ff:feb7:f543/64 scope link
       valid_lft forever preferred_lft forever


[root@d10 ~]# ip r | grep default
default via 172.XX.XX.65 dev bond0  proto zebra  src 193.XXX.XXX.17  metric 11

В zebra это достигается просто:

!
ip protocol ospf route-map SRC_CHANGE
!
route-map SRC_CHANGE permit 10
 match ip address prefix-list ANY
 set src 193.XXX.XXX.17
!

Того же самого можно добиться и просто при помощи скрипта с вызовами ip route change.

 

Posted

Если не хочется ставить маршрут вручную, то первый адрес на интерфейсе для дефолтроута будет исходящим адресом по умолчанию (в конфиге местами поменяйте объявление адресов)

Если адрес gateway будет попадать в маску не основного, а дополнительного адреса, то src будет дополнительный. Надо указывать прямо адрес src, либо в запросах, либо в таблице роутинга.

Posted

Запихнуть сервак в виртуалку, у которй единственный ИП - нужный, сеть виртуалки - без НАТ-а.... :) изврат, но работать должно...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...