Страница 1 из 1

pppoe ipfw

Добавлено: 2006-07-21 11:35:21
Avers
Добрый день. Возник вопрос по настройке ipfw при работе по pppoe.
Доступ в Инет провайдер дает по pppoe через сетевую карту rl0.
В конфигурации приведенной ниже даже пинги не проходят.
Какое правило необходимо разрешить в ipfw чтобы пакеты проходили
(рубится все на последнем правиле ${fwcmd} add deny ip from any to any
Если поставить ${fwcmd} add pass ip from any to any via tun0 то все работает)


/etc/rc.conf

defaultrouter="192.168.120.1"
gateway_enable="YES"
hostname="test"

ifconfig_fxp0="inet 192.168.1.116 netmask 255.255.255.0"
ifconfig_rl0="inet 192.168.120.5 netmask 255.255.255.0"

#natd_enable="YES"
#natd_interface="tun0"
firewall_enable="YES"
firewall_script="/etc/rc.firewall"

tcp_drop_synfin="YES"
sendmail_enable="NONE"
sshd_enable="YES"

ppp_enable="YES"
ppp_mode="ddial"
ppp_nat="YES"
ppp_profile="test"

squid_enable="YES"

/etc/rc.firewall

#!/bin/sh -

fwcmd="/sbin/ipfw -q"


lanout="tun0"
ipout="195.x.x.x"
lanin="fxp0"
ipin="192.168.1.116"
netmask="24"
netin="192.168.1.0"

${fwcmd} -f flush
${fwcmd} add check-state

${fwcmd} add pass all from any to any via lo0
${fwcmd} add deny ip from any to 127.0.0.0/8
${fwcmd} add deny ip from 127.0.0.0/8 to any

${fwcmd} add deny ip from any to 10.0.0.0/8 in via ${lanout}
${fwcmd} add deny ip from any to 172.16.0.0/12 in via ${lanout}
${fwcmd} add deny ip from any to 192.168.0.0/16 in via ${lanout}

${fwcmd} add deny ip from any to 0.0.0.0/8 in via ${lanout}
${fwcmd} add deny ip from any to 169.254.0.0/16 via ${lanout}
${fwcmd} add deny ip from any to 240.0.0.0/4 via ${lanout}

${fwcmd} add divert natd ip from ${netin}/${netmask} to any out via ${lanout}
${fwcmd} add divert natd ip from any to ${ipout} in via ${lanout}

${fwcmd} add deny ip from 10.0.0.0/8 to any out via ${lanout}
${fwcmd} add deny ip from 172.16.0.0/12 to any out via ${lanout}
${fwcmd} add deny ip from 192.168.0.0/16 to any out via ${lanout}
${fwcmd} add deny ip from 0.0.0.0/8 to any out via ${lanout}
${fwcmd} add deny ip from 169.254.0.0/16 to any out via ${lanout}
${fwcmd} add deny ip from 224.0.0.0/4 to any out via ${lanout}
${fwcmd} add deny ip from 240.0.0.0/4 to any out via ${lanout}

${fwcmd} add pass tcp from any to any established
${fwcmd} add pass ip from ${ipout} to any out xmit ${lanout}
${fwcmd} add pass udp from any 53 to any via ${lanout}

${fwcmd} add pass tcp from any to ${ipout} 49152-65535 via ${lanout}
${fwcmd} add pass ip from any to any via ${lanin}

${fwcmd} add allow icmp from any to any
${fwcmd} add deny icmp from any to any frag

${fwcmd} add deny ip from any to any


/etc/ppp/ppp.conf

test:
set device PPPoE:rl0
set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.0 0.0.0.0
set authname USER
set authkey PASS
enable lqr
enable dns
set dial
set login
nat enable yes
#nat use_sockets yes
nat same_ports yes
nat unregistered_only yes
add default HISADDR

Добавлено: 2006-07-21 11:41:03
Alex Keda
пробуй разрешать протоколы по очереди -и смотри на каком заработает

Добавлено: 2006-07-21 12:33:21
Avers
Если можно по подробнее. У меня заработало когда разрешил ip. Может для pppoe необходимо разрешить инкапсуляцию или еще что нибудь.

Добавлено: 2006-07-21 12:51:16
Alex Keda
дык пробовать надо.
добаь по одному правилу на кажды протокол из /etc/protocols и посмтри по какому пакеты пойдут.
я так делал. скрипт - 5 строк, чтоб руками не добавлять....

Добавлено: 2006-07-21 12:54:53
Avers
Спасибо попробую

Добавлено: 2006-07-25 14:28:22
Avers
HELP!!! Уже задолбался. Когда убираю NAT

${fwcmd} add divert natd ip from ${netin}/${netmask} to any out via ${lanout}
${fwcmd} add divert natd ip from any to ${ipout} in via ${lanout}

то все работает. Где ошибка.

Добавлено: 2006-07-27 1:24:49
jails
Проблема в том что вы пытаетесь запустить одновременно ppp nat и natd.
Решение:
1) удалить в /etc/ppp/ppp.conf строки:
nat enable yes
#nat use_sockets yes
nat same_ports yes
nat unregistered_only yes

и разкоментировать в /etc/rc.conf
#natd_enable="YES"
#natd_interface="tun0"

2) удалить natd
${fwcmd} add divert natd ip from ${netin}/${netmask} to any out via ${lanout},
${fwcmd} add divert natd ip from any to ${ipout} in via ${lanout}).

Добавлено: 2006-07-27 9:14:51
Avers
1) удалить в /etc/ppp/ppp.conf строки:
nat enable yes
#nat use_sockets yes
nat same_ports yes
nat unregistered_only yes

и разкоментировать в /etc/rc.conf
#natd_enable="YES"
#natd_interface="tun0"

Это уже пробовал.


2) удалить natd
${fwcmd} add divert natd ip from ${netin}/${netmask} to any out via ${lanout},
${fwcmd} add divert natd ip from any to ${ipout} in via ${lanout}).

Эти строки не удалял. Разве без них NAT будет работать?

Добавлено: 2006-07-27 9:15:48
Alex Keda
у ppp свой nat, прям на интерейсе