Доброго времени суток.
понимаю,что возможно повторяюсь с вопросом - собсно искал решение самостоятельно но ни как.
Ситуация.не работает TCP/UDP протокол, ICMP проходит :( :(
ОС FreeBSD 4.10r на машине установлено несколько интерфейсов rl0 - сеть rl1 - adsl
поднимаю PPPoE соединение
mpd 3.18 патченый.
вот mpd.conf
default:
load PPPoE-1
PPPoE-1:
new -i ng0 PPPoE-1 PPPoE-1
set bundle authname "xxx"
set bundle password "xxx"
set bundle enable multilink
set bundle enable encryption
set log -bund iface -ipcp -link -ipcp -ccp
set link mtu 1500
set iface mtu 1460
set iface mru 1500
set iface enable tcpmssfix
set iface disable on-demand
set iface idle 0
set link yes acfcomp protocomp
set link disable pap chap
set link accept chap
set link keep-alive 10 75
set ipcp yes vjcomp
set ipcp ranges 0.0.0.0/0 0.0.0.0/0
set ccp enable mppc
set ccp enable mpp-compress
set ccp enable mpp-e128
set ecp enable des
set iface enable proxy-arp
set iface up-script /etc/mpd/pppoe1-up.sh
set iface down-script /etc/mpd/pppoe1-down.sh
open iface
содержание скриптов
UP
/sbin/natd -n ng0 -f /etc/natd.conf -P /etc/mpd/pppoe1.pid -i 8706 -o 8707
DOWN
pid=`cat /etc/mpd/pppoe1.pid `
kill -9 $pid
соединение установлено и работает.
задача подключить клиентскую машину с ифайса rl0 и пустить ее по АДСЛ
ipfw add 90 divert 8707 log logamount 0 ip from $cl to not 192.168.73.0/24,192.168.72.0/24
ipfw add 91 fwd $gw log logamount 0 ip from $adsl to not 192.168.73.0/24,192.168.72.0/24
ipfw add 92 divert 8706 log logamount 0 ip from not 192.168.73.0/24,192.168.72.0/24 to $cl,$gw,$adsl in via ng0
ipfw add 5263 allow log logamount 0 ip from not 192.168.73.0/25,192.168.73.128/26,192.168.73.192/27 to $cl
где: $cl - IP клиентской машины, $gw - шлюз adsl соединения, $adsl - IP adsl
пинги ходять - вот лог
Oct 25 02:34:20 stat /kernel: ipfw: 90 Divert 8707 ICMP:8.0 192.168.72.98 194.67.57.26 in via rl0
Oct 25 02:34:20 stat /kernel: ipfw: 91 Forward to 88.147.128.161 ICMP:8.0 88.147.158.79 194.67.57.26 in via rl0
Oct 25 02:34:20 stat /kernel: ipfw: 92 Divert 8706 ICMP:0.0 194.67.57.26 88.147.158.79 in via ng0
Oct 25 02:34:20 stat /kernel: ipfw: 5263 Accept ICMP:0.0 194.67.57.26 192.168.72.98 in via ng0
Oct 25 02:34:20 stat /kernel: ipfw: 5263 Accept ICMP:0.0 194.67.57.26 192.168.72.98 out via rl0
при попытке соединения на mail.ru по TCP - болт :(
лог tcpdump
02:40:58.277040 IP 192.168.72.98.1664 > 194.67.57.26.80: S 2309651523:2309651523(0) win 65535 <mss 1460,nop,wscale 4,nop,nop,sackOK>
02:40:58.313582 IP 194.67.57.26.80 > 192.168.72.98.1664: S 2884308759:2884308759(0) ack 2309651524 win 32768 <mss 1450,nop,wscale 0>
02:40:58.313790 IP 192.168.72.98.1664 > 194.67.57.26.80: . ack 1 win 62531
02:40:58.314281 IP 192.168.72.98.1664 > 194.67.57.26.80: P 1:818(817) ack 1 win 62531
02:41:01.289364 IP 192.168.72.98.1664 > 194.67.57.26.80: P 1:818(817) ack 1 win 62531
02:41:01.308438 IP 194.67.57.26.80 > 192.168.72.98.1664: S 2884308759:2884308759(0) ack 2309651524 win 32768 <mss 1450,nop,wscale 0>
02:41:01.308541 IP 192.168.72.98.1664 > 194.67.57.26.80: . ack 1 win 62531
02:41:07.224212 IP 192.168.72.98.1664 > 194.67.57.26.80: P 1:818(817) ack 1 win 62531
02:41:07.311540 IP 194.67.57.26.80 > 192.168.72.98.1664: S 2884308759:2884308759(0) ack 2309651524 win 32768 <mss 1450,nop,wscale 0>
02:41:07.311716 IP 192.168.72.98.1664 > 194.67.57.26.80: . ack 1 win 62531
02:41:19.295086 IP 192.168.72.98.1664 > 194.67.57.26.80: P 1:818(817) ack 1 win 62531
02:41:19.336945 IP 194.67.57.26.80 > 192.168.72.98.1664: R 2884308760:2884308760(0) win
я конечно понимаю что проблема сводится к тому что у меня разный mss
играть MTU пробовал - результат тот же. :(
клиентская машина ХР sp2 пробовал также с Linux'a - результат тот же :(
как мне решить сию задачу - у кого какие мысли??