Jump to content

IP Aliasing?


Recommended Posts

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

 

Шлюз в сети на 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, чтобы источником у всех исходящих пакетов с самого сервера был именно этот адрес?

Link to post
Share on other sites

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

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

10.0.0.1/16

и

10.200.0.1/17

 

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

Edited by Melanxolik
Link to post
Share on other sites

Указывать в запросах 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

 

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

Link to post
Share on other sites

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

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

Link to post
Share on other sites

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

 

/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
Link to post
Share on other sites

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

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

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

Link to post
Share on other sites

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

 

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

Link to post
Share on other sites

Изврат который был до этого я выкладывать не буду  :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.

 

Link to post
Share on other sites

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

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

Link to post
Share on other sites

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...