[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-users:35417] ondemand connection failed



手元の余った PC を,ondemand dialup 接続を行う NAT box に仕立てようと
しているのですが,何とも不可解な現象に悩まされています.


[現象]

PPP 接続が切れている状態から通信を開始しようとする時,NAT box 上のプロ
セスからだけ通信を開始できません.


[詳細]

作ろうとしている環境は,以下の図のようなごくごくありきたりの環境です.

                Ethernet                    PPP
    LAN <----------------------> NAT <---------------> [ISP]
      192.168.1.2      192.168.1.1

実際に最終的に実現しようとしているのは,NAT box で dhcp を動かしたりし
ようと考えているのですが,今回は trouble shoot のために最小構成にして
あります.

この環境で PPP 接続が切れている状態から通信を開始しようとする時,NAT
box 上のプロセスから正常に通信を開始できません.例えば NAT box で,

    [nat:~]% telnet mail-server smtp

と mail server に対して接続を行おうとすると,普通に PPP 接続が始まるの
ですが,実際の通信は開始されません.

    [nat:~]# tcpdump -l -i ppp0 port smtp | tee telnet-local.log

として実際の通信内容を調べてみると,仮 IP アドレスが実 IP アドレスに置
き換わった後で SYN パケットが送信されていないのが問題のようです.

ところが,LAN につながっている NAT box 以外の PC から,同様に外部に 
telnet を行うと,普通に通信が開始できます.

    [lan:~]% telnet mail-server smtp
    [nat:~]# tcpdump -l -i ppp0 port smtp | tee telnet-remote.log

また,一旦接続が確立されていれば,普通に通信ができます.

    [nat:~]% telnet mail-server smtp
    [nat:~]# tcpdump -l -i ppp0 port smtp | tee telnet-local-connected.log

ただし,それぞれの log で ISP から割り当てられた IP アドレスの部分は伏
せてあります.


[環境]

利用環境は Debian Woody で,kernel は 2.4.19 を,pppd は 2.4.1.uus を
使っています.IP masquerade の設定は JF の packet-filtering-HOWTO に記
述されている最小設定例をそのまま使っています.

    [nat:~]# iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
    [nat:~]# iptables -A INPUT -i ppp0 -m state --state NEW,INVALID -j DROP
    [nat:~]# iptables -A FORWARD -i ppp0 -m state --state NEW,INVALID -j DROP
    [nat:~]# echo 1 > /proc/sys/net/ipv4/ip_forward

関係のありそうな kernel の config は以下の通りです.

    CONFIG_IP_NF_CONNTRACK=m
    CONFIG_IP_NF_FTP=m
    CONFIG_IP_NF_IRC=m
    CONFIG_IP_NF_QUEUE=m
    CONFIG_IP_NF_IPTABLES=m
    CONFIG_IP_NF_MATCH_LIMIT=m
    CONFIG_IP_NF_MATCH_MAC=m
    CONFIG_IP_NF_MATCH_MARK=m
    CONFIG_IP_NF_MATCH_MULTIPORT=m
    CONFIG_IP_NF_MATCH_TOS=m
    CONFIG_IP_NF_MATCH_AH_ESP=m
    CONFIG_IP_NF_MATCH_LENGTH=m
    CONFIG_IP_NF_MATCH_TTL=m
    CONFIG_IP_NF_MATCH_TCPMSS=m
    CONFIG_IP_NF_MATCH_STATE=m
    CONFIG_IP_NF_MATCH_UNCLEAN=m
    CONFIG_IP_NF_MATCH_OWNER=m
    CONFIG_IP_NF_FILTER=m
    CONFIG_IP_NF_TARGET_REJECT=m
    CONFIG_IP_NF_TARGET_MIRROR=m
    CONFIG_IP_NF_NAT=m
    CONFIG_IP_NF_NAT_NEEDED=y
    CONFIG_IP_NF_TARGET_MASQUERADE=m
    CONFIG_IP_NF_TARGET_REDIRECT=m
    CONFIG_IP_NF_NAT_LOCAL=y
    CONFIG_IP_NF_NAT_SNMP_BASIC=m
    CONFIG_IP_NF_NAT_IRC=m
    CONFIG_IP_NF_NAT_FTP=m
    CONFIG_IP_NF_MANGLE=m
    CONFIG_IP_NF_TARGET_TOS=m
    CONFIG_IP_NF_TARGET_MARK=m
    CONFIG_IP_NF_TARGET_LOG=m
    CONFIG_IP_NF_TARGET_ULOG=m
    CONFIG_IP_NF_TARGET_TCPMSS=m
    CONFIG_IP_NF_ARPTABLES=m
    CONFIG_IP_NF_ARPFILTER=m
    CONFIG_IP_NF_COMPAT_IPCHAINS=m
    CONFIG_IP_NF_NAT_NEEDED=y

また,pppd の設定 /etc/ppp/peers/ISP の内容は,

    hide-password 
    noauth
    connect "/usr/sbin/chat -v -f /etc/chatscripts/ISP"
    /dev/ttyS1
    115200
    defaultroute
    noipdefault 
    user ISPUSER
    ipparam ISP
    usepeerdns
    demand
    idle 45
    holdoff 60

となっています.

という状況なのですが,この問題の解決に役立つ情報をお持ちの方がいたら,
是非教えていただけないでしょうか.よろしくお願いします.

-- 
土屋 雅稔 ( TSUCHIYA Masatoshi )
18:16:44.160809 10.64.64.64.1034 > 130.54.208.130.smtp: S 2781052719:2781052719(0) win 5840 <mss 1460,sackOK,timestamp 115830 0,nop,wscale 0> (DF) [tos 0x10] 
18:16:47.156786 10.64.64.64.1034 > 130.54.208.130.smtp: S 2781052719:2781052719(0) win 5840 <mss 1460,sackOK,timestamp 116130 0,nop,wscale 0> (DF) [tos 0x10] 
18:16:53.156776 10.64.64.64.1034 > 130.54.208.130.smtp: S 2781052719:2781052719(0) win 5840 <mss 1460,sackOK,timestamp 116730 0,nop,wscale 0> (DF) [tos 0x10] 
18:17:05.156772 10.64.64.64.1034 > 130.54.208.130.smtp: S 2781052719:2781052719(0) win 5840 <mss 1460,sackOK,timestamp 117930 0,nop,wscale 0> (DF) [tos 0x10] 
18:13:37.282179 10.64.64.64.33681 > 130.54.208.130.smtp: S 2565868682:2565868682(0) win 5840 <mss 1460,sackOK,timestamp 8272582 0,nop,wscale 0> (DF) [tos 0x10] 
18:13:40.273890 10.64.64.64.33681 > 130.54.208.130.smtp: S 2565868682:2565868682(0) win 5840 <mss 1460,sackOK,timestamp 8272882 0,nop,wscale 0> (DF) [tos 0x10] 
18:13:46.274885 10.64.64.64.33681 > 130.54.208.130.smtp: S 2565868682:2565868682(0) win 5840 <mss 1460,sackOK,timestamp 8273482 0,nop,wscale 0> (DF) [tos 0x10] 
18:13:58.276851 10.64.64.64.33681 > 130.54.208.130.smtp: S 2565868682:2565868682(0) win 5840 <mss 1460,sackOK,timestamp 8274682 0,nop,wscale 0> (DF) [tos 0x10] 
18:14:22.267633 xxx.xxx.xxx.23.33681 > 130.54.208.130.smtp: S 2565868682:2565868682(0) win 5840 <mss 1460,sackOK,timestamp 8277082 0,nop,wscale 0> (DF) [tos 0x10] 
18:14:22.456167 130.54.208.130.smtp > xxx.xxx.xxx.23.33681: S 2624192850:2624192850(0) ack 2565868683 win 5792 <mss 1460,sackOK,timestamp 34075753 8277082,nop,wscale 0> (DF)
18:14:22.457029 xxx.xxx.xxx.23.33681 > 130.54.208.130.smtp: . ack 1 win 5840 <nop,nop,timestamp 8277101 34075753> (DF) [tos 0x10] 
18:14:22.636191 130.54.208.130.smtp > xxx.xxx.xxx.23.33681: P 1:36(35) ack 1 win 5792 <nop,nop,timestamp 34075772 8277101> (DF)
18:14:22.636971 xxx.xxx.xxx.23.33681 > 130.54.208.130.smtp: . ack 36 win 5840 <nop,nop,timestamp 8277119 34075772> (DF) [tos 0x10] 
18:14:26.717730 xxx.xxx.xxx.23.33681 > 130.54.208.130.smtp: P 1:7(6) ack 36 win 5840 <nop,nop,timestamp 8277527 34075772> (DF) [tos 0x10] 
18:14:26.916150 130.54.208.130.smtp > xxx.xxx.xxx.23.33681: . ack 7 win 5792 <nop,nop,timestamp 34076198 8277527> (DF)
18:14:26.916204 130.54.208.130.smtp > xxx.xxx.xxx.23.33681: P 36:65(29) ack 7 win 5792 <nop,nop,timestamp 34076198 8277527> (DF)
18:14:26.916247 130.54.208.130.smtp > xxx.xxx.xxx.23.33681: F 65:65(0) ack 7 win 5792 <nop,nop,timestamp 34076198 8277527> (DF)
18:14:26.917488 xxx.xxx.xxx.23.33681 > 130.54.208.130.smtp: . ack 65 win 5840 <nop,nop,timestamp 8277546 34076198> (DF) [tos 0x10] 
18:14:26.917949 xxx.xxx.xxx.23.33681 > 130.54.208.130.smtp: F 7:7(0) ack 66 win 5840 <nop,nop,timestamp 8277547 34076198> (DF) [tos 0x10] 
18:14:27.096186 130.54.208.130.smtp > xxx.xxx.xxx.23.33681: . ack 8 win 5792 <nop,nop,timestamp 34076219 8277547> (DF)
18:17:45.127682 xxx.xxx.xxx.25.1036 > 130.54.208.130.smtp: S 2840609928:2840609928(0) win 4452 <mss 1484,sackOK,timestamp 121928 0,nop,wscale 0> (DF) [tos 0x10] 
18:17:45.314387 130.54.208.130.smtp > xxx.xxx.xxx.25.1036: S 2836515722:2836515722(0) ack 2840609929 win 5792 <mss 1460,sackOK,timestamp 34096038 121928,nop,wscale 0> (DF)
18:17:45.314847 xxx.xxx.xxx.25.1036 > 130.54.208.130.smtp: . ack 1 win 4452 <nop,nop,timestamp 121947 34096038> (DF) [tos 0x10] 
18:17:45.514422 130.54.208.130.smtp > xxx.xxx.xxx.25.1036: P 1:36(35) ack 1 win 5792 <nop,nop,timestamp 34096057 121947> (DF)
18:17:45.514783 xxx.xxx.xxx.25.1036 > 130.54.208.130.smtp: . ack 36 win 4452 <nop,nop,timestamp 121967 34096057> (DF) [tos 0x10] 
18:17:47.134483 xxx.xxx.xxx.25.1036 > 130.54.208.130.smtp: P 1:7(6) ack 36 win 4452 <nop,nop,timestamp 122128 34096057> (DF) [tos 0x10] 
18:17:47.334689 130.54.208.130.smtp > xxx.xxx.xxx.25.1036: . ack 7 win 5792 <nop,nop,timestamp 34096240 122128> (DF)
18:17:47.344682 130.54.208.130.smtp > xxx.xxx.xxx.25.1036: P 36:65(29) ack 7 win 5792 <nop,nop,timestamp 34096240 122128> (DF)
18:17:47.345078 xxx.xxx.xxx.25.1036 > 130.54.208.130.smtp: . ack 65 win 4452 <nop,nop,timestamp 122150 34096240> (DF) [tos 0x10] 
18:17:47.344739 130.54.208.130.smtp > xxx.xxx.xxx.25.1036: F 65:65(0) ack 7 win 5792 <nop,nop,timestamp 34096240 122128> (DF)
18:17:47.354845 xxx.xxx.xxx.25.1036 > 130.54.208.130.smtp: F 7:7(0) ack 66 win 4452 <nop,nop,timestamp 122151 34096240> (DF) [tos 0x10] 
18:17:47.524713 130.54.208.130.smtp > xxx.xxx.xxx.25.1036: . ack 8 win 5792 <nop,nop,timestamp 34096261 122151> (DF)