Назад | Перейти на главную страницу

Проблема маршрутизации с несколькими IP-адресами на узле EC2 (VPC)

Мы запускаем сервер EC2 Ubuntu, действующий как STUN-сервер для механизма NAT Traversal в приложении моей компании. По природе протокола STUN серверу необходимы два публичных IP-адреса. Мы наняли некоторых консультантов, чтобы настроить это для нас, но они, похоже, потерпели неудачу, потому что сервер STUN не отвечает ни на какие внешние запросы привязки.

Вот что мы знаем:

Я предполагаю, что нам чего-то не хватает в наших таблицах маршрутизации. К сожалению, IP-маршрутизация не входит в нашу компетенцию (особенно в Linux). Ниже приведен вывод ifconfig, который, надеюсь, даст вам дополнительную полезную информацию.

eth0      Link encap:Ethernet  HWaddr 0e:5a:ec:5d:6d:d5
          inet addr:10.0.0.22  Bcast:10.0.0.255  Mask:255.255.255.0
          inet6 addr: fe80::c5a:ecff:fe5d:6dd5/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:28031 errors:0 dropped:0 overruns:0 frame:0
          TX packets:18370 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:2329243 (2.3 MB)  TX bytes:19316360 (19.3 MB)
          Interrupt:28

eth0:1    Link encap:Ethernet  HWaddr 0e:5a:ec:5d:6d:d5
          inet addr:10.0.0.23  Bcast:10.0.0.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          Interrupt:28

eth0:2    Link encap:Ethernet  HWaddr 0e:5a:ec:5d:6d:d5
          inet addr:107.23.130.153  Bcast:0.0.0.0  Mask:255.255.255.255
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          Interrupt:28

eth0:3    Link encap:Ethernet  HWaddr 0e:5a:ec:5d:6d:d5
          inet addr:107.23.35.233  Bcast:0.0.0.0  Mask:255.255.255.255
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          Interrupt:28

Вот результат работы sudo route:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface

default         10.0.0.1        0.0.0.0         UG    100    0        0 eth0
10.0.0.0        *               255.255.255.0   U     0      0        0 eth0

10.0.0.1 - ваш шлюз по умолчанию, есть ли маршрутизатор в сети 107.23.X.X?

У меня такое ощущение, что вам нужно будет настроить правильные таблицы маршрутизации, чтобы пакеты, входящие в одну сеть, также возвращались обратно через тот же интерфейс в той же сети.

Вы можете сделать что-то вроде этого:

echo 200 Ten >> /etc/iproute2/rt_tables
ip route add 107.23.130.153 dev eth0:2 src 107.23.130.153 table Ten
ip route add default via whatever table Ten

echo 200 Twenty >> /etc/iproute2/rt_tables
ip route add 107.23.35.233 dev eth0:3 src 107.23.35.233 table Twenty
ip route add default via whatever table Twenty

замените что-либо на шлюз для этих двух адресов, я предполагаю, что это адреса Point to Point.

Затем добавьте правила, которые отправляют трафик с вашего IP-адреса через правильную таблицу и интерфейсы.

ip rule add from 107.23.130.53 table Ten
ip rule add from 107.23.35.233 table Twenty

В любом случае недостатка в информации в Интернете нет, ищите политика маршрутизации