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

Проблема с конфигурацией LVS (с использованием инструмента piranha)

Я настроил LVS на cent os с помощью инструмента piranha. Я использую vip внутреннего сетевого интерфейса в качестве шлюза для реального сервера, у нас есть два сетевых адаптера, один из которых имеет внешний IP-адрес, а другой - для внутреннего сетевого подключения, который находится в сети 192.168.3.0/24.

Но я не могу подключиться с клиента, он показывает ошибку отказа в соединении

. Пожалуйста, предложите правила iptables для приватных и публичных н / б для связи. Может быть, мне этого не хватает. Мы добавили следующие правила Iptables:

 iptables -t nat -A POSTROUTING -p tcp -s 192.168.3.0/24 --sport 5000 -j MASQUERADE

это мой ipconfig:

eth0      Link encap:Ethernet  HWaddr 00:00:E8:F6:74:DA 
          inet addr:122.166.233.133  Bcast:122.166.233.255  Mask:255.255.255.0
          inet6 addr: fe80::200:e8ff:fef6:74da/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:94433 errors:0 dropped:0 overruns:0 frame:0
          TX packets:130966 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:9469972 (9.0 MiB)  TX bytes:19929308 (19.0 MiB)
          Interrupt:16 Base address:0x2000

eth0:1    Link encap:Ethernet  HWaddr 00:00:E8:F6:74:DA 
          inet addr:122.166.233.136  Bcast:122.166.233.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          Interrupt:16 Base address:0x2000

eth1      Link encap:Ethernet  HWaddr 00:E0:20:14:F9:2D 
          inet addr:192.168.3.1  Bcast:192.168.3.255  Mask:255.255.255.0
          inet6 addr: fe80::2e0:20ff:fe14:f92d/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:123718 errors:0 dropped:0 overruns:0 frame:0
          TX packets:148856 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:18738556 (17.8 MiB)  TX bytes:11697153 (11.1 MiB)
          Interrupt:17 Memory:60000400-600004ff

eth1:1    Link encap:Ethernet  HWaddr 00:E0:20:14:F9:2D 
          inet addr:192.168.3.10  Bcast:192.168.3.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          Interrupt:17 Memory:60000400-600004ff

eth2      Link encap:Ethernet  HWaddr 00:16:76:6E:D1:D2 
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)
          Interrupt:21 Base address:0xa500

и команда ipvsadm -ln

[root@abts-kk-static-133 ~]# ipvsadm -ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  122.166.233.136:5000 wlc
TCP  122.166.233.136:5004 wlc

lvs server routing table
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.3.0     0.0.0.0         255.255.255.0   U     0      0        0 eth1
122.166.233.0   0.0.0.0         255.255.255.0   U     0      0        0 eth0
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0
169.254.0.0     0.0.0.0         255.255.0.0     U     1003   0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     1004   0        0 eth1
0.0.0.0         122.166.233.1   0.0.0.0         UG    0      0        0 eth0

реальный 1

реальный 2

мы настроили различные порты от 5000: 5008.

Нужен ли нам этот iptables для всех портов?

Подскажите, как мне решить эту проблему.

Во-первых, вам нужно решить, какой тип LVS вам нужен: NAT, TUN или DR.

[метод пересылки пакетов]

      -g, --gatewaying  Use gatewaying (direct routing). This is the default.

      -i, --ipip  Use ipip encapsulation (tunneling).

      -m, --masquerading  Use masquerading (network access translation, or NAT).

Похоже, вам нужен NAT, поэтому вам понадобятся параметры -m для ipvsadm для ваших реальных серверов.

Тестовая конфигурация пираньи доступна здесь:

http://www.linuxvirtualserver.org/docs/ha/piranha.html

Вместо того, чтобы вручную настраивать NAT с вашим собственным правилом iptables, вы позволяете ipvsadm выполнять NAT за вас. Удалите свое правило iptables и, если на то пошло, удалите указанные выше псевдонимы интерфейсов, заканчивающиеся на: 1. Это значительно упростит задачу и направит вас на верный путь.

Убедитесь, что ваш gw по умолчанию на ваших реальных серверах в 192.168.3.1. От Директора попробуйте выполнить эхо-запрос каждого из ваших реальных серверов, а также попробуйте выполнить telnet-соединение с портами LVS, которые выглядят как 5000/5004. Если все работает, вернитесь к своему клиенту и попробуйте подключиться к 5000/5004 через свой VIP.