pppoe ipfw
Добавлено: 2006-07-21 11:35:21
Добрый день. Возник вопрос по настройке 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
Доступ в Инет провайдер дает по 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