Как сделать входящий и исходящий IP тем же на нескольких IP обязательный сервер

Мы не сделали сравнение производительности от яблок к яблокам NFSv3 и v4, таким образом, я не могу прокомментировать производительность. Как Вы, мы использовали NetApp для NFSv3 (более новые версии ONTAP поддерживают v4 в производстве теперь, BTW); наше развертывание NFSv4 было на ZFS.

(Если millions-of-small-files-performance вызывает критическое беспокойство у Вас, имейте в виду, что это исторически было одно из слабых пятен NetApp. Мне говорят, что кэш PAM может помочь облегчить эту проблему, но не протестировал ее самому. Существуют также документы, что Ваш представитель NetApp может помочь получить Вас что адрес, настраивающийся для многих маленьких файлов.)

Для нас самой большой причиной переместиться для перемещения в v4 были ACLs, которые не были возможны с v3; удаление aclmode свойства ZFS в прошлом году вызвало нас некоторые незначительные проблемы. Существует относительно хороший обзор NFSv4 ACLs NetApp здесь:

http://www.netapp.com/us/communities/tech-ontap/nfsv4-0408.html

Еще одно примечание: В зависимости от возраста и определенного типа Ваших клиентов, Вы можете быть вынуждены обновить для получения более функциональной клиентской реализации NFSv4, и некоторые клиенты испытывают недостаток в функциях, которые могут или не могут быть важны для Вас, например, клиенты Linux не поддерживают названные атрибуты AFAIK.

1
задан 14 June 2013 в 17:14
2 ответа

Используйте iptables CONNMARK, чтобы отмечать каждый пакет по мере его выхода и восстанавливать метку по мере возврата пакета из соединения. Вам также необходимо настроить несколько таблиц маршрутизации, по одной для каждой метки, чтобы вы могли маршрутизировать пакеты на основе маркировки.

Для настройки маршрутов вы можете использовать 'ip route nexthop'. Вы также можете указать вес для каждого маршрута, чтобы вы могли сбалансировать трафик по своему усмотрению.

Кроме того, я думаю, что ваш пример неточен. Что происходит, так это то, что пакеты исходят с разных IP-адресов, поэтому, когда они вернутся, они не будут направлены на IP, который используется для установления соединения. Вот почему вам нужно убедиться, что все пакеты для одного соединения всегда используют один и тот же маршрут.

У меня больше нет сценария для этого, но мой был основан на примере на http: //mailman.ds9a.nl/pipermail/lartc/2006q2/018964.html (скопировано ниже).

#by-pass rules if it is already MARKed
iptables -t mangle -A POSTROUTING -m mark  --mark ! 0 -j ACCEPT 
#1st packets(from a connection) will arrive here 
iptables -t mangle -A POSTROUTING -o eth1 -j MARK --set-mark 0x1
iptables -t mangle -A POSTROUTING -o eth2 -j MARK --set-mark 0x2
iptables -t mangle -A POSTROUTING -j CONNMARK --save-mark

#restore mark before ROUTING decision
iptables -t mangle -A PREROUTING -j CONNMARK --restore-mark

#route commands
ip ro add default  nexthop via x.x.x.x dev eth1 weight 1 nexthop via
    y.y.y.y dev eth2
ip route add default table provider1 via x.x.x.x dev eth1
ip route add default table provider2 via y.y.y.y dev eth2

# and most important
ip rule add fwmark 0x1 table provider1
ip rule add fwmark 0x2 table provider2

Есть и другие вещи, которые следует учитывать:

  1. Некоторые программы, такие как ssh, создают новое соединение после начальной настройки . Это новое соединение может иметь другой маршрут, чем исходное соединение, и приложение не будет видеть пакеты от этого соединения. Итак, у вас есть специальные маршруты для таких приложений.
  2. Если у вас много ссылок, возникнут проблемы с флейкингом. Физическое соединение с модемами лучше транслировать с помощью коммутатора vlan.
  3. Вам также понадобится специальный маршрут, если вы хотите разрешить входящие соединения извне.
1
ответ дан 4 December 2019 в 00:40

То, что вы видите, является прямым следствием установленного вами правила постмаршрутизации.

. То, что вы хотите сделать, требует либо моста (для связи в одной сети), либо маршрутизации (для связи внутри сети).

0
ответ дан 4 December 2019 в 00:40

Теги

Похожие вопросы