Как установить PPPoE с OpenWrt

{ head; tail; } решение не работало бы над каналами (или сокеты или любые другие non-seekable файлы) потому что head мог использовать слишком много данных, поскольку они читают блоками и не могут искать назад на канале, потенциально оставляя курсор в файле вне какой tail предназначен для выбора.

Так, Вы могли использовать инструмент, который читает один символ за один раз как оболочка read (сюда использование функции, которая берет количество главных строк и строк хвоста как аргументы).

head_tail() {
  n=0
  while [ "$n" -lt "$1" ]; do
    IFS= read -r line || { printf %s "$line"; break; }
    printf '%s\n' "$line"
    n=$(($n + 1))
  done
  tail -n "${2-$1}"
}
seq 100 | head_tail 5 10
seq 20 | head_tail 5

или реализация tail в awk, например, как:

head_tail() {
  awk -v h="$1" -v t="${2-$1}" '
    {l[NR%t]=$0}
    NR<=h
    END{
      n=NR-t+1
      if(n <= h) n = h+1
      for (;n<=NR;n++) print l[n%t]
    }'
}

С sed:

head_tail() {
  sed -e "1,${1}b" -e :1 -e "$(($1+${2-$1})),\$!{N;b1" -e '}' -e 'N;D'
}

(хотя остерегаются этого некоторые sed реализации имеют низкое ограничение на размер их пространства шаблона, так перестал бы работать для больших значений количества строк хвоста).

10
28.06.2013, 22:10
2 ответа

Просто следуйте инструкциям со страницы WIKI OpenWrt: http : //wiki.openwrt.org/doc/howto/internet.connection

А еще эта запись в блоге хороша: http://developwithguru.com/setup-and-use-pppoe -on-openwrt /

Edit: Обратите внимание, что вторая ссылка мертва. Но вы можете найти кешированную копию по этому адресу: https://web.archive.org/web/20150721030152/http://developwithguru.com/setup-and-use-pppoe-on-openwrt/

2
27.01.2020, 20:02
config 'interface' 'loopback'
    option 'ifname' 'lo'
    option 'proto' 'static'
    option 'ipaddr' '127.0.0.1'
    option 'netmask' '255.0.0.0'

config 'interface' 'lan'
    option 'type' 'bridge'
    option 'ifname' 'eth0 eth1'
    option 'proto' 'static'
    option 'netmask' '255.255.255.0'
    option 'nat' '1'
    option 'ipaddr' '192.168.1.6'

config interface wan
    option ifname eth0
    option proto pppoe
    option username 'pppoe_username'
    option password 'pppoe_user_password'

Примечание: для настроек pppoe просто нужна указанная выше конфигурация, и после перезапуска / перезагрузки сети вы увидите pppoe набрав номер в системном журнале и после успешного подключения, вы получите новое имя интерфейса с помощью pppoe-wan или pppoe

2
27.01.2020, 20:02

Теги

Похожие вопросы