Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: Переадресация пакетов с одного интерфейса на другой  (Прочитано 3479 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Rifano998822

  • Автор темы
  • Новичок
  • *
  • Сообщений: 12
    • Просмотр профиля
Здравствуйте! Никак немогу решить такую задачку: надо чтобы пакеты которие идут на 25 порт, шлюз 192.168.0.1 (eth0) переадресовывались на шлюз 192.168.1.1 (eth1). Сервер и все службы работают в основном на eth0. eth1 - это провайдер через которого отсилаю почту на вузел relay.ukrpost.ua. На нем маленькая скорость и неначто больше кроме отправки почты он не годиться. На eth0 25 порт закрыт.

Мои конфиги:
root@server1:/home/yaryna# ifconfig
eth0      Link encap:Ethernet  HWaddr f8:d1:11:03:77:40
          inet addr:192.168.0.100  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::fad1:11ff:fe03:7740/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:3071 errors:0 dropped:71 overruns:0 frame:0
          TX packets:2301 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:589466 (589.4 KB)  TX bytes:648653 (648.6 KB)
          Interrupt:16 Base address:0xac00

eth1      Link encap:Ethernet  HWaddr 00:16:ec:f5:aa:b7
          inet addr:192.168.1.100  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::216:ecff:fef5:aab7/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:756 errors:0 dropped:71 overruns:0 frame:0
          TX packets:51 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:50372 (50.3 KB)  TX bytes:7269 (7.2 KB)
          Interrupt:20 Base address:0x6000

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:279 errors:0 dropped:0 overruns:0 frame:0
          TX packets:279 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:25924 (25.9 KB)  TX bytes:25924 (25.9 KB)

root@server1:/home/yaryna# netstat -rn
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         192.168.0.1     0.0.0.0         UG        0 0          0 eth0
192.168.0.0     0.0.0.0         255.255.255.0   U         0 0          0 eth0
192.168.1.0     0.0.0.0         255.255.255.0   U         0 0          0 eth1

vi /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo eth0 eth1
iface lo inet loopback

# The primary network interface
iface eth0 inet static
address 192.168.0.100
netmask 255.255.255.0
broadcast 192.168.0.255
network 192.168.0.0
gateway 192.168.0.1

iface eth1 inet static
address 192.168.1.100
netmask 255.255.255.0
broadcast 192.168.1.255
network 192.168.1.0

Пробовал решить задачку следующим способом(в iproute2 таблицы тоже прописаны):
echo "1" > /proc/sys/net/ipv4/ip_forward

ip route add default via 192.168.0.1 table provider1
ip route add default via 192.168.1.1 table provider2

ip rule add from 192.168.0.100 table provider1
ip rule add from 192.168.1.100 table provider2

iptables -t mangle -A OUTPUT -p tcp -m tcp --dport 25 -j MARK --set-mark 0x4

ip rule add fwmark 0x4/0x4 lookup provider2

iptables -t mangle -A OUTPUT -p tcp -m tcp --dport 587 -j MARK --set-mark 0x5

ip rule add fwmark 0x5/0x5 lookup provider2

Но ничего не получилось...

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
Кеш сбрасывали?
ip route flush cache
Пакеты на 25-ый порт идут от рассматриваемого сервера или от других хостов?
« Последнее редактирование: 12 Января 2013, 11:11:32 от fisher74 »

Оффлайн Rifano998822

  • Автор темы
  • Новичок
  • *
  • Сообщений: 12
    • Просмотр профиля
С сервера. Отправляет письма програма Postfix.
Пробовал сбросить кеш, не помогает.
Пробовал такой способ доставки пакетов. Но там пакеты хотят уходят через eth1, хотят через eth0. Я так понял проблема в распределение нагрузки. Не знаю как задать правило чтобы строго-настрого шли только через eth1.
В этом способе есть еще и другие недостатки. Через eth1 начинают работать другие службы так как apache, mysql и тд... не очень радует(
echo "1" > /proc/sys/net/ipv4/ip_forward

ip route add default via 192.168.0.1 table provider1
ip route add default via 192.168.1.1 table provider2

ip rule add from 192.168.0.100 table provider1
ip rule add from 192.168.1.100 table provider2

ip route replace default scope global \
nexthop via 192.168.0.1 dev eth0 weight 1 \
nexthop via 192.168.1.1 dev eth1 weight 1

iptables -t mangle -A OUTPUT -p tcp -m tcp --dport 25 -j MARK --set-mark 0x4

ip rule add fwmark 0x4/0x4 lookup provider2

iptables -t mangle -A OUTPUT -p tcp -m tcp --dport 587 -j MARK --set-mark 0x5

ip rule add fwmark 0x5/0x5 lookup provider2

Оффлайн koshev

  • Старожил
  • *
  • Сообщений: 1709
  • חתול המדען
    • Просмотр профиля
Не будет ли проще указать маршрутом хост на котором крутиться relay.ukrpost.ua ?
OpenWrt 19.07

Оффлайн Rifano998822

  • Автор темы
  • Новичок
  • *
  • Сообщений: 12
    • Просмотр профиля
От другого провайдера вузол почту не принимает.

Оффлайн koshev

  • Старожил
  • *
  • Сообщений: 1709
  • חתול המדען
    • Просмотр профиля
Вы не поняли. Посимвольно:
ip route add $(nslookup relay.ukrpost.ua |grep Address |grep -v '#' |awk '{print $2}') \
via 192.168.1.1 dev eth1

OpenWrt 19.07

Оффлайн Rifano998822

  • Автор темы
  • Новичок
  • *
  • Сообщений: 12
    • Просмотр профиля
РАБОТАЕТ!!!!!!
перезапустил сервак, добавил:
ip route add $(nslookup relay.ukrpost.ua |grep Address |grep -v '#' |awk '{print $2}') \
via 192.168.1.1 dev eth1

Спасибо Вам огромное за помощь!!!

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
Я-то как-то думал этот способ изначально отмёлся по каким-то причинам... :)

 

Страница сгенерирована за 0.048 секунд. Запросов: 22.