<?xml version="1.0" encoding="UTF-8" ?>

<bugzilla version="5.2"
          urlbase="https://bugzilla.altlinux.org/"
          
          maintainer="jenya@basealt.ru"
>

    <bug>
          <bug_id>15193</bug_id>
          
          <creation_ts>2008-04-01 12:38:38 +0400</creation_ts>
          <short_desc>bad gateway in multihomed system when connection is established</short_desc>
          <delta_ts>2008-04-02 09:56:10 +0400</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>3</classification_id>
          <classification>Distributions</classification>
          <product>Branch 4.0</product>
          <component>openvpn</component>
          <version>4.0</version>
          <rep_platform>all</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>NOTABUG</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexander Volkov">vaa</reporter>
          <assigned_to name="Nikolay A. Fetisov">naf</assigned_to>
          
          
          <qa_contact name="Q.A. 4.0">qa-4.0</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>67249</commentid>
    <comment_count>0</comment_count>
    <who name="Alexander Volkov">vaa</who>
    <bug_when>2008-04-01 12:38:38 +0400</bug_when>
    <thetext>Сервер с двумя каналами в мир.
ip r
79.143.19.64/29 dev port33  proto kernel  scope link  src 79.143.19.66
192.168.10.0/29 dev lan  proto kernel  scope link  src 192.168.10.1
172.18.20.32/28 via 192.168.1.1 dev adsl
192.168.20.0/25 dev port33  proto kernel  scope link  src 192.168.20.1
80.93.107.0/24 via 192.168.1.1 dev adsl
80.93.108.0/24 via 192.168.1.1 dev adsl
192.168.1.0/24 dev adsl  proto kernel  scope link  src 192.168.1.7
80.93.97.0/24 via 192.168.1.1 dev adsl
80.93.98.0/24 via 192.168.1.1 dev adsl
195.20.194.0/23 via 192.168.1.1 dev adsl
89.113.68.0/22 via 192.168.1.1 dev adsl
89.113.136.0/21 via 192.168.1.1 dev adsl
79.143.16.0/20 via 79.143.19.70 dev port33
85.249.80.0/20 via 192.168.1.1 dev adsl
89.113.192.0/20 via 192.168.1.1 dev adsl
82.196.128.0/19 via 192.168.1.1 dev adsl
212.34.96.0/19 via 192.168.1.1 dev adsl
84.53.192.0/18 via 192.168.1.1 dev adsl
default via 79.143.19.70 dev port33  src 79.143.19.66

Поднимаем openvpn до хоста 84.53.199.236, имеем после коннекта:
ip r
84.53.199.236 via 79.143.19.70 dev port33
10.8.1.2 dev tun0  proto kernel  scope link  src 10.8.1.1
192.168.2.144/30 via 10.8.1.2 dev tun0
79.143.19.64/29 dev port33  proto kernel  scope link  src 79.143.19.66
192.168.10.0/29 dev lan  proto kernel  scope link  src 192.168.10.1
172.18.20.32/28 via 192.168.1.1 dev adsl
192.168.20.0/25 dev port33  proto kernel  scope link  src 192.168.20.1
192.168.2.0/25 via 10.8.1.2 dev tun0
80.93.107.0/24 via 192.168.1.1 dev adsl
80.93.108.0/24 via 192.168.1.1 dev adsl
10.8.0.0/24 via 10.8.1.2 dev tun0
192.168.1.0/24 dev adsl  proto kernel  scope link  src 192.168.1.7
80.93.97.0/24 via 192.168.1.1 dev adsl
80.93.98.0/24 via 192.168.1.1 dev adsl
195.20.194.0/23 via 192.168.1.1 dev adsl
89.113.68.0/22 via 192.168.1.1 dev adsl
89.113.136.0/21 via 192.168.1.1 dev adsl
79.143.16.0/20 via 79.143.19.70 dev port33
85.249.80.0/20 via 192.168.1.1 dev adsl
89.113.192.0/20 via 192.168.1.1 dev adsl
82.196.128.0/19 via 192.168.1.1 dev adsl
212.34.96.0/19 via 192.168.1.1 dev adsl
84.53.192.0/18 via 192.168.1.1 dev adsl
0.0.0.0/1 via 10.8.1.2 dev tun0
128.0.0.0/1 via 10.8.1.2 dev tun0
default via 79.143.19.70 dev port33  src 79.143.19.66

т.е, маршрут до vpn сервера устанавливается не по тому каналу.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>67279</commentid>
    <comment_count>1</comment_count>
    <who name="Nikolay A. Fetisov">naf</who>
    <bug_when>2008-04-01 16:15:37 +0400</bug_when>
    <thetext>Согласно openvpn(8), при наличии директивы &apos;redirect-gateway &quot;def1&quot;&apos; после 
создания туннеля OpenVPN
&quot;
- Create a static route for the --remote address which forwards to the 
pre-existing default gateway.&quot; 

Т.е., маршрут до сервера создаётся через текущий маршрут по-умолчанию.
В данной конфигурации маршрут по-умолчанию -
&quot;default via 79.143.19.70 dev port33  src 79.143.19.66&quot;
 
Соответственно, создаваемый маршрут до сервера - 
&quot;84.53.199.236 via 79.143.19.70 dev port33&quot;

Если требуется другое, нетривиальное поведение (как в данном случае), можно 
создавать нужные маршруты из скриптов --up или --route-up.

См. также 
http://lists.altlinux.org/pipermail/sysadmins/2008-March/014368.html
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>67284</commentid>
    <comment_count>2</comment_count>
    <who name="Alexander Volkov">vaa</who>
    <bug_when>2008-04-01 17:05:56 +0400</bug_when>
    <thetext>мда, это таки документированная бага апстрима...
Спасибо за разъяснение.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>67328</commentid>
    <comment_count>3</comment_count>
    <who name="Alexander Volkov">vaa</who>
    <bug_when>2008-04-02 09:56:09 +0400</bug_when>
    <thetext>(In reply to comment #1)
&gt; Согласно openvpn(8), при наличии директивы &apos;redirect-gateway &quot;def1&quot;&apos; после 
&gt; создания туннеля OpenVPN
&gt; &quot;
&gt; - Create a static route for the --remote address which forwards to the 
&gt; pre-existing default gateway.&quot; 
&gt; 
&gt; Если требуется другое, нетривиальное поведение (как в данном случае), можно 
&gt; создавать нужные маршруты из скриптов --up или --route-up.
&gt; 
дочитал указанный man:
Add the local flag if both OpenVPN servers are directly  connected  via  a  
common  subnet, such as with wireless.  The local flag will cause step 1 above 
to be omittеd.

Вот что надо в моем случае! Ибо сервер локально доступен по любому из 2=х 
интерфейсов.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>