Имаш default GW1. Когато ползваш tcp_outgoing_address:

#  TAG: tcp_outgoing_address 
#       Allows you to map requests to different outgoing IP addresses
#       based on the username or sourceaddress of the user making
#       the request.
#
#       tcp_outgoing_address ipaddr [[!]aclname] ...
#
#       Example where requests from 10.0.0.0/24 will be forwareded
#       with source address 10.1.0.1, 10.0.2.0/24 forwarded with
#       source address 10.1.0.2 and the rest will be forwarded with
#       source address 10.1.0.3.

Обърни внимание тук: На пакета не се казва през кой GW да излезе!, а
му се слага желан source address. Когато му сложиш source address-а да
бъде този на интерфейс 3, той пак ще си излезе през GW1 (понеже GW1 ти
е default). Ако искаш да позваш тази опция, то трябва да накраш
пакетите със source addres този на интерфейса 3 да минават през GW3, а
не през GW1.

Директното ползване на тази опция би сработило в следната ситуация:
доставчика ти е дал 2 IP адреса (от една локална мрежа с един и същ
gw) и искаш да ползваш интернет и през 2-та (например половината
пакети да излизат с IP1, а другата половина с IP2). Това ще работи,
защото GW за IP1 и IP2  е един и същ и е default. В случая като твоя,
когато IP1 и IP2 са от различни мрежи и на различни интерфейси, трябва
да имаш някакво правило, което да прехвърля пакетите от IP2 към GW2
(когато GW1 ти е default).

Аз поне така си обяснявам защо трафика не ти излиза през GW3,  когато
плзваш тази функция.

ПС: надявам се да е станало ясно какво имах предвид.

Reply via email to