Перейти к содержимому
Калькуляторы

Не могу шейперы победить.

 

Вот есть шейпинг как его делает ванильный accel-pppd 1.7. Просто, удобно, работает.

Но не знала баба горя, купила баба порося. Потребовалось добавить правила, которые по-другому ограничивают определенную подсеть (скажем, 10.0.0.0/8).

 

«Вниз», к клиенту, не проблема. Включил ppp_compat, в ip-up, видя поставленный htb qdisc, делаю:

 

tc class add dev "$IFNAME" parent 1: classid 1:99 htb rate 100Mbit
tc filter add dev "$IFNAME" parent 1:0 prio 0 protocol ip u32 match ip src 10.0.0.0/8 flowid 1:99

 

Аналогично в ip-change, на ip-down плевать, интерфейс сам пропадет и классы-фильтры с ним. В общем, собственно, пусть оно и некрасиво, но работает.

 

А вот «вверх» не выходит каменный цветок. Поскольку фильтр flow уже имеет приоритет 1 (меньшее, что удается сунуть, при попытке filter add prio 0 в приоритете оказывается что-то непотребное типа 49152), то я «сдвинул» его на prio 1000. Добавил класс 1:1 для трафика на нужную подсеть и u32-фильтр. В итоге на ifb фильтры выглядят так:

 

filter parent 1: protocol ip pref 16 u32 
filter parent 1: protocol ip pref 16 u32 fh 800: ht divisor 1 
filter parent 1: protocol ip pref 16 u32 fh 800::800 order 2048 key ht 800 bkt 0 flowid 1:1 
 match 0a000000/ff000000 at 12
filter parent 1: protocol ip pref 1000 flow 
filter parent 1: protocol ip pref 1000 flow handle 0x1 map keys priority baseclass 1:1 

 

Тут я явно чего-то не понимаю, потому что u32 как будто и не было и в класс 1:1 не попадает ни байтика. Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0).

 

Помогите, пожалуйста.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Эпический 'прикол' вылез для ipoe. Аккаунтинг в радиусе перепутан, входящий к клиенту трафик пишется в output octets и наоборот.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Эпический 'прикол' вылез для ipoe. Аккаунтинг в радиусе перепутан, входящий к клиенту трафик пишется в output octets и наоборот.

А почему вы решили, что должно быть иначе? :)

Совершенно ожидаемое поведение, ничего не перепутано. NAS показывает трафик так, как видит его сам.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Victor Safronov

pppd вроде ведет себя не так, завтра проверю.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Друзья, спасайте:)

Перешли еще на одном сервере с родного poptop на accell. Сутки пролапатило отлично

а сегодня начались пляски, тупо сегфолтится :(

 

Feb 20 15:53:21 localhost kernel: accel-pppd[27429]: segfault at 8 ip 0805fe54 sp b337f260 error 4 in accel-pppd[8048000+21000]
Feb 20 16:09:09 localhost kernel: accel-pppd[2071]: segfault at 8 ip 0805fe54 sp b6494260 error 4 in accel-pppd[8048000+21000]
Feb 20 16:18:36 localhost kernel: accel-pppd[7870]: segfault at 8 ip 0805fe54 sp b3437260 error 4 in accel-pppd[8048000+21000]
Feb 20 16:22:56 localhost kernel: accel-pppd[13396]: segfault at 8 ip 0805fe54 sp b5d0f260 error 4 in accel-pppd[8048000+21000]
Feb 20 16:40:32 localhost kernel: accel-pppd[15143]: segfault at 8 ip 0805fe54 sp b12fd260 error 4 in accel-pppd[8048000+21000]
Feb 20 18:27:40 localhost kernel: accel-pppd[16147]: segfault at 8 ip 0805fe54 sp b3b70260 error 4 in accel-pppd[8048000+21000]

 

ядро правда древнее,

omega ~ # uname -a
Linux omega 2.6.36-gentoo-r8 #8 SMP Mon Feb 18 23:38:12 EET 2013 i686 Intel(R) Core(TM) i3 CPU 540 @ 3.07GHz GenuineIntel GNU/Linux

 

акцель собирали версия accel-ppp-1.7.2

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

собрал то что уже было проверено временем, на другом сервере работает на ура без проблем

правда там ядро посвежей)

 

astra ~ # uname -a
Linux astra 3.3.8-gentoo #2 SMP Sun Oct 14 04:01:37 EEST 2012 i686 Intel(R) Core(TM) i5 CPU 650 @ 3.20GHz GenuineIntel GNU/Linux

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Друзья, спасайте:)

Перешли еще на одном сервере с родного poptop на accell. Сутки пролапатило отлично

а сегодня начались пляски, тупо сегфолтится :(

 

Feb 20 15:53:21 localhost kernel: accel-pppd[27429]: segfault at 8 ip 0805fe54 sp b337f260 error 4 in accel-pppd[8048000+21000]
Feb 20 16:09:09 localhost kernel: accel-pppd[2071]: segfault at 8 ip 0805fe54 sp b6494260 error 4 in accel-pppd[8048000+21000]
Feb 20 16:18:36 localhost kernel: accel-pppd[7870]: segfault at 8 ip 0805fe54 sp b3437260 error 4 in accel-pppd[8048000+21000]
Feb 20 16:22:56 localhost kernel: accel-pppd[13396]: segfault at 8 ip 0805fe54 sp b5d0f260 error 4 in accel-pppd[8048000+21000]
Feb 20 16:40:32 localhost kernel: accel-pppd[15143]: segfault at 8 ip 0805fe54 sp b12fd260 error 4 in accel-pppd[8048000+21000]
Feb 20 18:27:40 localhost kernel: accel-pppd[16147]: segfault at 8 ip 0805fe54 sp b3b70260 error 4 in accel-pppd[8048000+21000]

 

ядро правда древнее,

omega ~ # uname -a
Linux omega 2.6.36-gentoo-r8 #8 SMP Mon Feb 18 23:38:12 EET 2013 i686 Intel(R) Core(TM) i3 CPU 540 @ 3.07GHz GenuineIntel GNU/Linux

 

акцель собирали версия accel-ppp-1.7.2

 

Собирайте в дебаге, включайте коре-дампы и запускайте, ловите корку, потом смотрите в gdb backtrace, выкладываете bt в багтрекер

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Linux omega 2.6.36-gentoo-r8 #8 SMP Mon Feb 18 23:38:12 EET 2013 i686 Intel® Core i3 CPU 540 @ 3.07GHz GenuineIntel GNU/Linux

 

Где Вы такие ядра-то берете? Ладно бы 2.6.32.х или 34.х, но 36!!!

 

Так же и с 3.3.8!!! Советую либо 3.2.39 либо 3.4.32 или 3.7.9. Как бы ориентироваться надо на kernel.org по времени поддержки веток и номеру ядра в ветке.

 

Короче говоря на машине, где стоит 2.6.36 надо тоже поставить 3.3.8 или из тех, что на kernel.org на титульной странице.

Изменено пользователем replicant

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

2.6.36 собиралась машина несколько лет назад, там стоит биллинг моих друзей, обновлять ядро до 3 ветки да и еще в ГЕНТУ это самоубийство, может упасть все что кроме ацеля работало как часы))) там как раз помоему с 3 ветки перешли на openrc я даже не представляю как мигрировать, проще наверное соберем сегодня отдельную свежую машинку со свежим софтом. спасибо ;)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Всем привет. Хотел настроить l2tp на dir-620 (c1) не пошло, в логах акселя

 

куча строк

incorrect avp received (type=6, M=1, must be 0)

 

конфиг:

[modules]
#path=/usr/local/lib/accel-pptp
log_file
#log_tcp
#log_pgsql
pptp
pppoe
l2tp
auth_mschap_v2
auth_mschap_v1
auth_chap_md5
auth_pap
radius
ippool
sigchld
pppd_compat
#shaper_tbf
#chap-secrets

[core]
log-error=/var/log/accel-pptp/core.log
thread-count=4

[ppp]
verbose=1
min-mtu=1000
mtu=1400
mru=1400
#ccp=0
#sid-case=upper
check-ip=1

[lcp]
echo-interval=30
echo-failure=5

[pptp]
echo-interval=30
verbose=1

[pppoe]
interface=eth0
#ac-name=xxx
#service-name=yyy
#pado-delay=0
#pado-delay=0,100:100,200:200,-1:500
#ifname-in-sid=called-sid
verbose=1

[l2tp]
#dictionary=/usr/local/share/accel-pptp/l2tp/dictionary
hello-interval=120
timeout=120
rtimeout=10
retransmit=20
#host-name=accel-pptp
verbose=1
dir300_quirk=1

[dns]
dns1=10.10.10.1
#dns2=172.16.1.1

[radius]
dictionary=/usr/local/usr/share/accel-pptp/radius/dictionary
nas-identifier=accel-pptp
nas-ip-address=10.10.10.1
gw-ip-address=10.255.255.1
server=10.10.10.6,хххх,auth-port=1812,acct-port=1813,req-limit=0,fail-time=0
verbose=1
#timeout=3
#max-try=3
#acct-timeout=120

[client-ip-range]
10.0.0.0/8
172.0.0.0/8

[ip-pool]
gw-ip-address=192.168.0.1
192.168.0.2-255
192.168.1.1-255
192.168.2.1-255
192.168.3.1-255
192.168.4.1-255

[log]
log-file=/var/log/accel-pptp/accel-pptp.log
log-emerg=/var/log/accel-pptp/emerg.log
#log-debug=/dev/stdout
#log-tcp=127.0.0.1:3000
copy=1
#color=1
#per-user-dir=per_user
#per-session-dir=per_session
#per-session=1
level=3
#log-tcp=127.0.0.1:3000

[log-pgsql]
conninfo=user=log
log-table=log

[pppd-compat]
#ip-pre-up=/etc/ppp/ip-pre-up
ip-up=/etc/ppp/ip-up
ip-down=/etc/ppp/ip-down
ip-change=/etc/ppp/ip-change
radattr-prefix=/var/run/radattr
verbose=1

[tbf]
#attr=Filter-Id
#down-burst-factor=0.1
#up-burst-factor=1.0
#latency=50

[cli]
telnet=127.0.0.1:2000
tcp=127.0.0.1:2001
#passwd=123

[snmp]
master=1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
куча строк

incorrect avp received (type=6, M=1, must be 0)

[l2tp]

avp_permissive=1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

обновлять ядро до 3 ветки да и еще в ГЕНТУ это самоубийство, может упасть все что кроме ацеля работало как часы

Ничего не поломается, опдейт ядра обычно происходит незаметно. Другое дело, что помимо этого куча софта еще пожелает заапдейтиться... А так да, сервер на генту - еще то удовольствие по части поддержки...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Столкнулся с занятным и неочевидным для меня поведением time-range.

Радиус отдаёт параметры в формате cisco-like с указанием access-group, предположим 1 и 2.

Я хочу добиться такого поведения, при котором временные диапазоны 1 и 2 покрывают не все сутки, а только часть, чтобы в оставшиеся часы не было шейпинга как такового. Именно так у меня сделано в цыске, диапазон "День" с 8 утра до 23 вечера, диапазон "Ночь" с 23 вечера до 4 утра. Таким образом с 4 до 8 утра ни один диапазон не активен и шейпинг не работает.

В accel-pppd при такой схеме при подключении в часы, не покрытые диапазонами, всё равно применяется какой-либо из указанных диапазонов и шейпинг есть.

Это баг/фича? Не хотелось бы придумывать третий диапазон для этого с последующей установкой дополнительных радиус-атрибутов на максимальную скорость для всех тарифов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ещё обнаружил, что коммит beab958f сломал именованные пулы. Потом покопался в диффе, и понял, что изменилось правило задания пула с x.x.x.x/yy,pool1 на x.x.x.x/yy,name=pool1,allocator=p2p|net30

Вдруг кто-то тоже напорется на это. Было бы здорово бы в accel-ppp.conf.dist добавить. :)

Изменено пользователем Victor Safronov

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Как можно задавать ип клиента вручную при использование chap-secrets ?

 

# Secrets for authentication using CHAP
# client        server  secret                  IP addresses
test    *       test    10.10.10.1

он IP игнорирует.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Как можно задавать ип клиента вручную при использование chap-secrets ?

 

# Secrets for authentication using CHAP
# client        server  secret                  IP addresses
test    *       test    10.10.10.1

он IP игнорирует.

 

Отключить в конфиге использование ip pool, а оставить только chap.

В клиенте соответственно IP для pptp соединения не указывать, а получать от сервера.

Есс-но коннект должен приходить с разрешенных IP, диапазон которых прописать в конфиге.

Ниже приведен простой конфиг для CHAP + PPTP без всяких доп. плюшек, поэтому можете поюзать его.

Подходит для 1.7.2-1.7.3 и любых клиентов. На клиенте mppe лучше отключать, а вообще по вкусу.

 

[modules]
#path=/usr/local/lib/accel-ppp
log_file
#log_syslog
#log_tcp
#log_pgsql

pptp
#l2tp
#pppoe

auth_mschap_v2
auth_mschap_v1
auth_chap_md5
auth_pap

#radius
#ippool - ЗАПРЕТИТЬ POOL, т.к. ЕСТЬ CHAP
sigchld
pppd_compat

#shaper
#shaper_tbf (obsolete)
chap-secrets - ИСПОЛЬЗОВАТЬ CHAP
#net-snmp
#logwtmp
#connlimit

#ipv6_nd
#ipv6_dhcp
#ipv6pool

[core]
log-error=/var/log/accel-ppp/core.log
thread-count=8

[ppp]
verbose=1
min-mtu=1280
mtu=1400
mru=1400
ccp=0
sid-case=upper
check-ip=1
single-session=replace
mppe=deny
ipv4=require
ipv6=deny
ipv6-intf-id=0:0:0:1
ipv6-peer-intf-id=0:0:0:2
ipv6-accept-peer-intf-id=1
lcp-echo-interval=10
lcp-echo-failure=3
lcp-echo-timeout=30
#unit-cache=1000

[auth]
#any-login=0
#noauth=0

[pptp]
echo-interval=10
mppe=deny - БЕЗ ШИФРОВАНИЯ ТРАФИКА
#ip-pool=pool1 - ВОТ ТУТ ТОЖЕ ВЫКЛЮЧИМ ПУЛ АДРЕСОВ
verbose=1

[pppoe]
#interface=eth0
#interface=eth1,padi-limit=1000
#ac-name=xxx
#service-name=yyy
#pado-delay=0
#pado-delay=0,100:100,200:200,-1:500
#ifname-in-sid=called-sid
#tr101=1
#padi-limit=0
#mppe=allow
#ip-pool=pool2
verbose=0

[l2tp]
#dictionary=/usr/local/share/accel-ppp/l2tp/dictionary
#hello-interval=60
#timeout=60
#rtimeout=5
#retransmit=5
#host-name=accel-ppp
#dir300_quirk=0
#secret=
#mppe=allow
#ip-pool=pool3
verbose=0

[dns]
dns1=ВАШ ДНС
dns2=АНАЛОГИЧНО
dns3=И ЕЩЕ ОДИН

[radius]
#dictionary=/usr/local/share/accel-ppp/radius/dictionary
nas-identifier=accel-ppp
nas-ip-address=127.0.0.1
gw-ip-address=192.168.0.100
#auth-server=127.0.0.1:1812,testing123 (obsolete)
#acct-server=127.0.0.1:1813,testing123 (obsolete)
#server=127.0.0.1,testing123 (obsolete)
server=127.0.0.1,testing123,auth-port=1812,acct-port=1813,req-limit=0,fail-time=0
dae-server=127.0.0.1:3799,testing123
verbose=0
#timeout=3
#max-try=3
#acct-timeout=120
#acct-delay-time=0

[client-ip-range]
192.168.0.0/16 - КЛИЕНТСКИЕ ПОДСЕТКИ

[ip-pool]
gw-ip-address=192.168.0.1
#vendor=Cisco
#attr=Cisco-AVPair
attr=Framed-Pool
192.168.0.2-255
192.168.1.1-255,pool1
192.168.2.1-255,pool2
192.168.3.1-255,pool3
192.168.4.0/24

[log]
log-file=/var/log/accel-ppp/accel-ppp.log
log-emerg=/var/log/accel-ppp/emerg.log
log-fail-file=/var/log/accel-ppp/auth-fail.log
#log-debug=/dev/stdout
#syslog=accel-pppd,daemon
#log-tcp=127.0.0.1:3000
copy=1
#color=1
#per-user-dir=per_user
#per-session-dir=per_session
#per-session=1
level=2

[log-pgsql]
conninfo=user=log
log-table=log

[pppd-compat]
#ip-pre-up=/etc/ppp/ip-pre-up
ip-up=/etc/ppp/ip-up
ip-down=/etc/ppp/ip-down
#ip-change=/etc/ppp/ip-change
#radattr-prefix=/var/run/radattr
verbose=1

[chap-secrets]
gw-ip-address=172.16.100.206 - АДРЕС СЕРВЕРА (ПО СУТИ МОЖЕТ БЫТЬ ЛЮБОЙ ЛОКАЛЬНЫЙ IP)
chap-secrets=/etc/ppp/chap-secrets - ПУТЬ К CHAP в СИСТЕМЕ

[shaper]
#attr=Filter-Id
#down-burst-factor=0.1
#up-burst-factor=1.0
#latency=50
#mpu=0
#r2q=10
#quantum=1500
#cburst=1534
#ifb=ifb0
#up-limiter=police
#down-limiter=tbf
#leaf-qdisc=sfq perturb 10
verbose=0

#tbf is obsolete, use shaper module
#[tbf]
#attr=Filter-Id
#down-burst-factor=0.1
#up-burst-factor=1.0
#latency=50

[cli]
#telnet=127.0.0.1:2000
#tcp=127.0.0.1:2001
#password=123

[snmp]
master=0
agent-name=accel-ppp

[connlimit]
limit=10/min
burst=3
timeout=60

[ipv6-pool]
fc00:0:1::/48,64
delegate=fc00:1::/36,48

[ipv6-dns]
#fc00:1::1
#fc00:1::2
#fc00:1::3
#dnssl=suffix1.local.net
#dnssl=suffix2.local.net.

[ipv6-dhcp]
verbose=0
pref-lifetime=604800
valid-lifetime=2592000
route-via-gw=1

Изменено пользователем replicant

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
test * test 10.10.10.1
test * test * 10.10.10.1

Не обязательно так. У меня вот так работает.

 

login        *       "password"     10.10.10.8

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Столкнулся с занятным и неочевидным для меня поведением time-range.

Радиус отдаёт параметры в формате cisco-like с указанием access-group, предположим 1 и 2.

Я хочу добиться такого поведения, при котором временные диапазоны 1 и 2 покрывают не все сутки, а только часть, чтобы в оставшиеся часы не было шейпинга как такового. Именно так у меня сделано в цыске, диапазон "День" с 8 утра до 23 вечера, диапазон "Ночь" с 23 вечера до 4 утра. Таким образом с 4 до 8 утра ни один диапазон не активен и шейпинг не работает.

В accel-pppd при такой схеме при подключении в часы, не покрытые диапазонами, всё равно применяется какой-либо из указанных диапазонов и шейпинг есть.

Это баг/фича? Не хотелось бы придумывать третий диапазон для этого с последующей установкой дополнительных радиус-атрибутов на максимальную скорость для всех тарифов.

Я подебажил и выяснил, что проблема касается только тех, кто подключён уже к моменту удаления time-range. Конкретно в этой функции:

pd->cur_tr уже приходит заполненным. Поэтому даже если time-range не найден перебором, условие "if (pd->cur_tr && pd->down_speed == pd->cur_tr->down_speed && pd->up_speed == pd->cur_tr->up_speed)" всё равно выполняется и шейпер не удаляется.

 

static void update_shaper_tr(struct shaper_pd_t *pd)
{
struct time_range_pd_t *tr;

if (pd->ses->terminating)
	return;

list_for_each_entry(tr, &pd->tr_list, entry) {
	if (tr->id != time_range_id)
		continue;
	pd->cur_tr = tr;
	break;
}

if (pd->temp_down_speed || pd->temp_up_speed)
             return;

if (pd->down_speed || pd->up_speed) {
               if (pd->cur_tr && pd->down_speed == pd->cur_tr->down_speed && pd->up_speed == pd->cur_tr->up_speed)
		return;
               remove_limiter(pd->ses);
}

if (pd->cur_tr && (pd->cur_tr->down_speed || pd->cur_tr->up_speed)) {
	pd->down_speed = pd->cur_tr->down_speed;
	pd->up_speed = pd->cur_tr->up_speed;
	if (!install_limiter(pd->ses, pd->cur_tr->down_speed, pd->cur_tr->down_burst, pd->cur_tr->up_speed, pd->cur_tr->up_burst)) {
		if (conf_verbose)
			log_ppp_info2("shaper: changed shaper %i/%i (Kbit)\n", pd->cur_tr->down_speed, pd->cur_tr->up_speed);
	}
} else
	if (conf_verbose)
		log_ppp_info2("shaper: removed shaper\n");	
       }

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Вчера что то глюкнуло и перестал работать telnet на 2000 порт. Т.е. подключение проходит, но ни одна строчка акселя, ни само приглашение не выводится, от меня команды тоже не принимаются. Неткат работает, аподключения принимаются. Могу что-нибудь выложить, пока аксель не рестартанул.

 

# telnet 127.0.0.1 2000
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.

Изменено пользователем morfair

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В общем, вот так вот работает как надо. :)

diff --git a/accel-pppd/shaper/shaper.c b/accel-pppd/shaper/shaper.c
index d5a376b..20cb78b 100644
--- a/accel-pppd/shaper/shaper.c
+++ b/accel-pppd/shaper/shaper.c
@@ -628,6 +628,8 @@ static void update_shaper_tr(struct shaper_pd_t *pd)
       if (pd->ses->terminating)
               return;

+       pd->cur_tr = NULL;
+       
       list_for_each_entry(tr, &pd->tr_list, entry) {
               if (tr->id != time_range_id)
                       continue;
@@ -641,6 +643,8 @@ static void update_shaper_tr(struct shaper_pd_t *pd)
       if (pd->down_speed || pd->up_speed) {
               if (pd->cur_tr && pd->down_speed == pd->cur_tr->down_speed && pd->up_speed == pd->cur_tr->up_speed)
                       return;
+               pd->down_speed = 0;
+               pd->up_speed = 0;
               remove_limiter(pd->ses);
       }

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

replicant

ну дык опытным путём установлено - без pptp или l2tp (т.е. сервер юзаю как обычный шлюз) всё гуд, только выхожу в инет через vpn - сразу инет "глючит", простите за юзерский сленг. Следовательно проблема или в самом accel или в настройках iptables. Иного, мне кажется, не дано.

 

А покажи-ка общественности ethtool -k для тех сетевок на сервере, через которые трафик абонентский бежит.

 

Типа так ethtool -k eth0

 

tcp-segmentation-offload: off

udp-fragmentation-offload: off

generic-segmentation-offload: off

generic-receive-offload: off

large-receive-offload: off

 

И интересующие параметры должны быть установлены в off вот каким-то таким образом (можно и без того, что курсивом выделено).

 

ethtool -K eth0 tso off gso off gro off lro off ufo off

Подскажите, пожалуйста, после перезагрузки эти параметры почему-то сбрасываются. Как сделать так, чтоб они оставались такими, как я их прописал по Вашей рекомендации? Заранее спасибо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас