DSL PPPoE в качестве внешнего интерфейса

 

Подключение к УСИ (Utel), Ethernet модем на rl0.

 

# ee /etc/rc.conf

 

...

defaultrouter="192.168.1.1"              # адреc модема

ifconfig_rl0="inet 192.168.1.7 netmask 255.255.255.252"

ifconfig_xl0="inet 192.168.0.37 netmask 255.255.255.0"

 

gateway_enable="YES"

firewall_enable="YES"

firewall_type="/etc/rc.firewall"

 

named_enable="YES"

natd_enable="NO"                 # будем юзать NAT из PPP

 

ppp_enable=”YES”

ppp_mode=”ddial”

ppp_profile=”usi”

ppp_nat=”YES”

ppp_user=”root”

...

 

# ee /etc/ppp/ppp.conf

 

default:

  set log Phase Warning Error Alert

  set device PPPoE:rl0

  set MTU 1492

  set MRU 1492

  set speed sync

  set dial

  set ctsrts off

  disable deflate

  disable pred1                   # без компрессии

  disable vjcomp

  disable acfcomp

  disable protocomp

  add default HISADDR

  nat enable yes

  nat log no

  nat same_ports yes

  nat unregistered_only yes

  #enable dns

 

usi:

  set login

  set authname 123456

  set authkey 123456

 

В файрволе правила, в сути, обычные, так как можно обойтись без явного указания ng0. Что касается DNS, то там форвардером прописывается тот-же DSL модем. Если это не заработает, и не хочется глубоко копать, можно поступить следующим образом. Убрать коммент с enable dns, перегрузиться и посмотреть, что будет в /etc/resolv.conf. А будут там адреса DNS серверов. Переписываешь их в /etc/namedb/named.conf в секцию forwarders и ставишь обратно ремарку на enable dns.

 

Скрипты для поднятия упавшего линка (thanx to lissyara.ru):

 

# cd /usr/local/etc

# touch ppptest.sh

# ee ppptest.sh

 

#!/bin/sh

 

tz=$(/bin/ps ax | grep -c "ppptest2.sh")

if (test $tz -gt "0")

then

    /usr/local/etc/ppptest2.sh

fi

 

# touch ppptest2.sh

# ee ppptest2.sh

 

#!/bin/sh

 

nr=""

ni=""

while !(test $ni)

    do

    is=$(/sbin/ping -c 4 www.yahoo.com | grep -c "64 bytes")

    if !(test $is -gt "0")

    then

        if !(test $nr)

        then

            date1=$(date "+%d/%m/%Y %H:%M:%S")

            nr=1

        fi

        /usr/bin/killall ppp

        sleep 10

        /usr/sbin/ppp -ddial usi

        sleep 50

    else

        if (test $nr)

        then

            date2=$(date "+%d/%m/%Y %H:%M:%S")

            echo Link down from $date1 to $date2 >> /var/log/ppplinkdown.log

        else

            #date1=$(date "+%d/%m/%Y %H:%M:%S")

            #echo Link OK at $date1 >> /var/log/ppplinkdown.log

        fi

        ni=1

    fi

done

 

# chmod 700 ppptest.sh

# chmod 700 ppptest2.sh

# ee /etc/crontab

 

...

#minute hour mday month wday who  command

*/5     *    *    *     *    root /usr/local/etc/ppptest.sh

...

 

# reboot


В начало
Сайт управляется системой uCoz