PDA

Bekijk de volledige versie : Где должны располагаться post- и pre-файлы в файловой системе wl-500?



FOXTREE
26-06-2005, 11:47
Прошил 1.9.2.7-6a.3
В строке post-mount находится следующее

[

#!/bin/sh
vsftpd /opt/etc/vsftpd.conf &

При перезагрузке не стартует , хотя если зайти телнетом и заустить в ручную
post-mount
то ftp сервер запускается

Сам post-mount испоняемый .

Duke
26-06-2005, 15:13
Для начала посомтри
flashfs status

FOXTREE
27-06-2005, 07:23
Да как бы всегда после операций с post - файлами выполняю
flashfs save && flashfs commit && flashfs enable

RoofCat
27-06-2005, 09:25
Если я правильно понимаю, если версия firmware изменилась, надобно разочек с нею забутится (при этом ничего из post* не исполнится), и уже с новой версией сказать "flashfs enable", и все будет хорошо.

это следует, как я понимаю, изwl500g.dyndns.org (http://wl500g.dyndns.org/).


Re-enabling flashfs load after the firmware upgrade
Once you've upgraded/downgraded your firmware you could notice, that /usr/local becomes empty on boot. Don't worry, everything is here, but was not loaded to prevent errors. If you feel it's ok to re-enable it, then just type the following
flashfs enable

to re-enable flashfs. After that you need to reboot for changes to take effect.

Сам так делал - вроде работает.

HTH,
Roofcat

FOXTREE
27-06-2005, 10:48
Само обой это сделано, иначе post файлы не сохранились бы при перезагрузке . Причем post-boot и post-firewall грузятся запуская dropbear и tthpd .
Ерунда гдето в самом скрипте даже если вношу
#!/bin/sh
vsftpd /opt/etc/vsftpd.conf & в post-boot vsftpd не стартует но стоит в ручную запуститить post-boot как все опять работает - ерунда какаято :(

Oleg
28-06-2005, 16:16
/opt как монтируется? или он прямо в корневой файловой системе?

FOXTREE
29-06-2005, 07:03
Вроде как в корневой .

Oleg
29-06-2005, 11:29
А какие вообще разделы есть на диске? Т.е. что показывает mount?

post-mount будет работать, только если действительно что-то было подмонтированно, кроме корневого раздела.

Можно ещё в post-mount добавить в конец строчку:


logger post-mount

Она должна в случае исполнения писать в system log.

OlegI
01-09-2005, 16:14
как и когда вызываеются скрипты post-boot post-mount pre-boot post-firewall наверное есть и другие

какие особенности монтирования? Например у меня не срабатывает
/bin/mount -o bind /tmp/harddisk/opt /opt
/sbin/swapon /dev/scsi/host0/bus0/target0/lun0/part2

приходится перед первым давать sleep 15 перед вторым sleep 5. Впечатление, что mount тут же возвращает консоль, но еще несколько секунд монтирует и не дает выполняться любым другим командам монтировки.

Если ставлю эти команды в post-mount не срабатывают, срабатывают в post-boot. С post-mount разобрался: забыл после darkstat поставить & - скрипт и висел на этой строке и ничего не выполнял после darkstat.

Oleg
03-09-2005, 10:21
Есть ещё pre-shutdown.

swap в данном случае стоит включать в post-boot, чтобы usb модули уже были загружены.

В отношении /tmp/harddisk/opt. Работать должно из post-mount, обязательно проверьте, что есть право на исполнение (chmod +x) и первая строчка - #!/bin/sh
/tmp/harddisk монтируется?

Как вариант отладки - делаете в post-mount так:
mount -obind /tmp/harddisk/opt /opt > /tmp/1 2>&1
и потом смотрите /tmp/1 - там будут все сообщения об ошибках.

mount работает синхронно, т.е. после возврата оно д.б. смонтировано или нет.

OlegI
03-09-2005, 12:34
swapon в post-boot нормально заработал - монтирует без задержек.

монтировка /opt выдает ошибку
mount: Mounting /tmp/harddisk/opt on /opt failed: No such file or directory
я вручную не монтирую /tmp/harddisk, наверное он автомонтируется с задержкой.
Есть ли скрипт, который запускается после автоматического монтирования диска? Я хочу чтобы можно было вынуть и вставить USB-диск и этот скрипт отработал.

Tsvetkov
03-09-2005, 21:42
OlegI
у меня так было когда форматнул винт без -j

mke2fs -j /dev/scsi/host0/bus0/target0/lun0/part1

ps кажись оно

OlegI
05-09-2005, 12:39
спасибо! я его сформатировал под Linux как ext3, вроде с журналом. Потом попробую посмотреть опции.
Еще заметил - если на ext3 есть проблемы, то роутер дико тормозит и может показаться что он подвис. Поэтому если у кого проблемы с периодическим "подвисанием" - можно проверить разделы на целостность.

tmr
20-09-2005, 14:40
Обнаружилась такая беда, если флэшка отвалилась во время загрузки (например сбойная фс), то post-boot сам больше не стартует (при reboot например), т.е. или ручками запускать, или флэшку выдирать.

Asus WL-500g
Firmware 1.9.2.7-6b

Флэшка отваливается так:
scsi0 : SCSI emulation for USB Mass Storage devices
Vendor: KINGSTON Model: USB DRIVE Rev: 1.12
Type: Direct-Access ANSI SCSI revision: 02
Attached scsi removable disk sda at scsi0, channel 0, id 0, lun 0
SCSI device sda: 251904 512-byte hdwr sectors (129 MB)
sda: Write Protect is off
Partition check:
/dev/scsi/host0/bus0/target0/lun0:usb_control/bulk_msg: timeout
usb-ohci.c: unlink URB timeout

Oleg
20-09-2005, 14:54
Не верю. :D Если серьёзно, то причины не видно и убедиться в этом я не могу. Может Вы из post-boot на флешку лезете?

tmr
20-09-2005, 15:09
Не верю. :D Если серьёзно, то причины не видно и убедиться в этом я не могу. Может Вы из post-boot на флешку лезете?
А придется. Ибо так и есть - вот опять забыл флэшку выдернуть, лезу теперь через telnet.

[admin@thunderbird root]$ cat /usr/local/sbin/post-boot
#!/bin/sh
# Start dropbear SSH daemon
dropbear

# Start Samba server
/usr/sbin/smbd -D
/usr/sbin/nmbd -D

dmesg после подключения флэшки:
hub.c: new USB device 00:04.0-1, assigned address 2
scsi0 : SCSI emulation for USB Mass Storage devices
usb_control/bulk_msg: timeout
usb-ohci.c: unlink URB timeout

теперь после ребута:
SCSI subsystem driver Revision: 1.00
Initializing USB Mass Storage driver...
usb.c: registered new driver usb-storage
scsi0 : SCSI emulation for USB Mass Storage devices
Vendor: KINGSTON Model: USB DRIVE Rev: 1.12
Type: Direct-Access ANSI SCSI revision: 02
Attached scsi removable disk sda at scsi0, channel 0, id 0, lun 0
SCSI device sda: 251904 512-byte hdwr sectors (129 MB)
sda: Write Protect is off
Partition check:
/dev/scsi/host0/bus0/target0/lun0:<6>usb.c: USB disconnect on device 00:04.0-1
address 2
eth0: no IPv6 routers present
eth2: no IPv6 routers present
hub.c: Cannot enable port 1 of hub 1, disabling port.
hub.c: Maybe the USB cable is bad?
eth1: no IPv6 routers present
br0: no IPv6 routers present
usb_control/bulk_msg: timeout
usb-ohci.c: unlink URB timeout

Фсё. post-boot не стартанул! В догонку сислог:
[admin@thunderbird root]$ cat /tmp/syslog.log
Jan 1 00:00:05 syslogd started: BusyBox v1.00 (2005.05.11-18:29+0000)
Jan 1 00:00:05 kernel: Setting the PFC value as 0x15
Jan 1 00:00:05 kernel: Determined physical RAM map:
Jan 1 00:00:05 kernel: memory: 01000000 @ 00000000 (usable)
Jan 1 00:00:05 kernel: On node 0 totalpages: 4096
Jan 1 00:00:05 kernel: zone(0): 4096 pages.
Jan 1 00:00:05 kernel: zone(1): 0 pages.
Jan 1 00:00:05 kernel: zone(2): 0 pages.
Jan 1 00:00:05 kernel: Kernel command line: root=/dev/mtdblock2 noinitrd init=/
linuxrc console=ttyS0,115200
Jan 1 00:00:05 kernel: CPU: BCM4710 rev 0 at 125 MHz
Jan 1 00:00:05 kernel: !unable to setup serial console!
Jan 1 00:00:05 kernel: Calibrating delay loop... 82.94 BogoMIPS
Jan 1 00:00:05 kernel: Memory: 13868k/16384k available (1767k kernel code, 2516
k reserved, 248k data, 72k init, 0k highmem)
Jan 1 00:00:05 kernel: Dentry cache hash table entries: 2048 (order: 2, 16384 b
ytes)
Jan 1 00:00:05 kernel: Inode cache hash table entries: 1024 (order: 1, 8192 byt
es)
Jan 1 00:00:05 kernel: Mount-cache hash table entries: 512 (order: 0, 4096 byte
s)
Jan 1 00:00:05 kernel: Buffer-cache hash table entries: 1024 (order: 0, 4096 by
tes)
Jan 1 00:00:05 kernel: Page-cache hash table entries: 4096 (order: 2, 16384 byt
es)
Jan 1 00:00:05 kernel: Checking for 'wait' instruction... unavailable.
Jan 1 00:00:05 kernel: POSIX conformance testing by UNIFIX
Jan 1 00:00:05 kernel: PCI: Fixing up bus 0
Jan 1 00:00:05 kernel: PCI: Fixing up bridge
Jan 1 00:00:05 kernel: PCI: Fixing up bus 1
Jan 1 00:00:05 kernel: Linux NET4.0 for Linux 2.4
Jan 1 00:00:05 kernel: Based upon Swansea University Computer Society NET3.039
Jan 1 00:00:05 kernel: Initializing RT netlink socket
Jan 1 00:00:05 kernel: Starting kswapd
Jan 1 00:00:05 kernel: Journalled Block Device driver loaded
Jan 1 00:00:05 kernel: devfs: v1.12c (20020818) Richard Gooch (rgooch@atnf.csir
o.au)
Jan 1 00:00:05 kernel: devfs: boot_options: 0x1
Jan 1 00:00:05 kernel: NTFS driver v1.1.22 [Flags: R/O]
Jan 1 00:00:05 kernel: pty: 256 Unix98 ptys configured
Jan 1 00:00:05 kernel: Serial driver version 5.05c (2001-07-08) with MANY_PORTS
SHARE_IRQ SERIAL_PCI enabled
Jan 1 00:00:05 kernel: loop: loaded (max 8 devices)
Jan 1 00:00:05 kernel: PPP generic driver version 2.4.2
Jan 1 00:00:05 kernel: PPP Deflate Compression module registered
Jan 1 00:00:05 kernel: PPP BSD Compression module registered
Jan 1 00:00:05 kernel: MPPE/MPPC encryption/compression module registered
Jan 1 00:00:05 kernel: Amd/Fujitsu Extended Query Table v1.1 at 0x0040
Jan 1 00:00:05 kernel: Physically mapped flash: Swapping erase regions for brok
en CFI table.
Jan 1 00:00:05 kernel: number of CFI chips: 1
Jan 1 00:00:05 kernel: Flash device: 0x400000 at 0x1fc00000
Jan 1 00:00:05 kernel: Physically mapped flash: squashfs filesystem found at bl
ock 942
Jan 1 00:00:05 kernel: Creating 5 MTD partitions on "Physically mapped flash":
Jan 1 00:00:05 kernel: 0x00000000-0x00040000 : "pmon"
Jan 1 00:00:05 kernel: 0x00040000-0x003e0000 : "linux"
Jan 1 00:00:05 kernel: 0x000eba00-0x003e0000 : "rootfs"
Jan 1 00:00:05 kernel: 0x003f0000-0x00400000 : "nvram"
Jan 1 00:00:05 kernel: 0x003e0000-0x003f0000 : "config"
Jan 1 00:00:05 kernel: sflash: chipcommon not found
Jan 1 00:00:05 kernel: NET4: Linux TCP/IP 1.0 for NET4.0
Jan 1 00:00:05 kernel: IP Protocols: ICMP, UDP, TCP
Jan 1 00:00:05 kernel: IP: routing cache hash table of 512 buckets, 4Kbytes
Jan 1 00:00:05 kernel: TCP: Hash tables configured (established 1024 bind 2048)
Jan 1 00:00:05 kernel: ip_conntrack version 2.1 (128 buckets, 1024 max) - 344 b
ytes per conntrack
Jan 1 00:00:05 kernel: ip_conntrack_pptp version 1.9 loaded
Jan 1 00:00:05 kernel: ip_nat_pptp version 1.5 loaded
Jan 1 00:00:05 kernel: ip_tables: (C) 2000-2002 Netfilter core team
Jan 1 00:00:05 kernel: ipt_time loading
Jan 1 00:00:05 kernel: NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
Jan 1 00:00:05 kernel: IPv6 v0.8 for NET4.0
Jan 1 00:00:05 kernel: IPv6 over IPv4 tunneling driver
Jan 1 00:00:05 kernel: NET4: Ethernet Bridge 008 for NET4.0
Jan 1 00:00:05 kernel: 802.1Q VLAN Support v1.7 Ben Greear <greearb@candelatech
.com>
Jan 1 00:00:05 kernel: All bugs added by David S. Miller <davem@redhat.com>
Jan 1 00:00:05 kernel: FAT: bogus logical sector size 47872
Jan 1 00:00:05 kernel: FAT: bogus logical sector size 47872
Jan 1 00:00:05 kernel: NTFS: Unable to set blocksize 512.
Jan 1 00:00:05 kernel: VFS: Mounted root (squashfs filesystem) readonly.
Jan 1 00:00:05 kernel: Mounted devfs on /dev
Jan 1 00:00:05 kernel: Freeing unused kernel memory: 72k freed
Jan 1 00:00:05 kernel: Warning: unable to open an initial console.
Jan 1 00:00:05 kernel: Algorithmics/MIPS FPU Emulator v1.5
Jan 1 00:00:05 kernel: eth0: Broadcom BCM47xx 10/100 Mbps Ethernet Controller 3
.90.7.0
Jan 1 00:00:05 kernel: eth1: Broadcom BCM47xx 10/100 Mbps Ethernet Controller 3
.90.7.0
Jan 1 00:00:05 kernel: PCI: Enabling device 01:02.0 (0004 -> 0006)
Jan 1 00:00:05 kernel: eth2: Broadcom BCM4320 802.11 Wireless Controller 3.90.2
3.0
Jan 1 00:00:05 kernel: device eth0 entered promiscuous mode
Jan 1 00:00:05 kernel: device eth2 entered promiscuous mode
Jan 1 00:00:05 kernel: device eth1 entered promiscuous mode
Jan 1 00:00:05 kernel: br0: port 3(eth1) entering learning state
Jan 1 00:00:05 kernel: br0: port 2(eth2) entering learning state
Jan 1 00:00:05 kernel: br0: port 1(eth0) entering learning state
Jan 1 00:00:05 kernel: br0: port 3(eth1) entering forwarding state
Jan 1 00:00:05 kernel: br0: topology change detected, propagating
Jan 1 00:00:05 kernel: 0: port 2(eth2) entering forwarding state
Jan 1 00:00:05 kernel: br0: topology change detected, propagating
Jan 1 00:00:05 kernel: br0: port 1(eth0) entering forwarding state
Jan 1 00:00:05 kernel: br0: topology change detected, propagating
Jan 1 00:00:06 kernel: usb.c: registered new driver usbdevfs
Jan 1 00:00:06 kernel: usb.c: registered new driver hub
Jan 1 00:00:06 kernel: usb-ohci.c: USB OHCI at membase 0xb8004000, IRQ 2
Jan 1 00:00:06 kernel: usb-ohci.c: usb-00:04.0, PCI device 14e4:4715
Jan 1 00:00:06 kernel: usb.c: new USB bus registered, assigned bus number 1
Jan 1 00:00:06 kernel: hub.c: USB hub found
Jan 1 00:00:06 kernel: hub.c: 2 ports detected
Jan 1 00:00:07 kernel: hub.c: new USB device 00:04.0-1, assigned address 2
Jan 1 00:00:07 kernel: usb.c: USB device 2 (vend/prod 0x4e8/0x100) is not claim
ed by any active driver.
Jan 1 00:00:07 kernel: lp0: using parport0 (polling).
Jan 1 00:00:07 kernel: usb.c: registered new driver usblp
Jan 1 00:00:07 kernel: printer.c: v0.13: USB Printer Device Class driver
Jan 1 00:00:09 kernel: usb.c: registered new driver audio
Jan 1 00:00:09 kernel: audio.c: v1.0.0:USB Audio Class driver
Jan 1 00:00:09 kernel: Linux video capture interface: v1.00
Jan 1 00:00:10 kernel: SCSI subsystem driver Revision: 1.00
Jan 1 00:00:10 kernel: Initializing USB Mass Storage driver...
Jan 1 00:00:10 kernel: usb.c: registered new driver usb-storage
Jan 1 00:00:10 kernel: scsi0 : SCSI emulation for USB Mass Storage devices
Jan 1 00:00:10 kernel: Vendor: KINGSTON Model: USB DRIVE Rev: 1.12
Jan 1 00:00:10 kernel: Type: Direct-Access ANSI SCSI r
evision: 02
Jan 1 00:00:10 kernel: Attached scsi removable disk sda at scsi0, channel 0, id
0, lun 0
Jan 1 00:00:10 kernel: SCSI device sda: 251904 512-byte hdwr sectors (129 MB)
Jan 1 00:00:10 kernel: sda: Write Protect is on
Jan 1 00:00:10 kernel: Partition check:
Jan 1 00:00:10 kernel: usb.c: USB disconnect on device 00:04.0-1 address 2
Jan 1 00:00:12 login[61]: root login on `pts/0'
Jan 1 00:00:14 kernel: hub.c: Cannot enable port 1 of hub 1, disabling port.
Jan 1 00:00:14 kernel: hub.c: Maybe the USB cable is bad?
Jan 1 00:00:15 kernel: usb_control/bulk_msg: timeout
Jan 1 00:00:15 kernel: usb-ohci.c: unlink URB timeout

Oleg
20-09-2005, 20:23
ps сделайте в момент, когда всё плохо. Только с телнетом не спешите - в том логе, что Вы запостили всё ещё было в процессе, т.е. Вы вошли раньше, чем post-boot исполнился бы.

tmr
21-09-2005, 10:07
thunderbird - Asus 500g
enzo - lin

[admin@thunderbird root]$ reboot

[admin@thunderbird root]$ date && ps
Thu Jan 1 00:08:24 GMT 1970
PID Uid VmSize Stat Command
1 admin 568 S /sbin/init
2 admin SW [keventd]
3 admin SWN [ksoftirqd_CPU0]
4 admin SW [kswapd]
5 admin SW
6 admin SW [kupdated]
7 admin SW [mtdblockd]
48 admin 316 S telnetd
52 admin 316 S httpd
54 admin 420 S udhcpc -i br0 -p /var/run/udhcpc_lan.pid -s /tmp/land
59 admin 340 S klogd
60 admin 388 S syslogd -m 0 -O /tmp/syslog.log -S -l 7
61 admin SW [khubd]
71 admin 276 S lpd
73 admin 260 S p9100d -f /dev/usb/lp0 0
75 admin 260 S p9101d -f /dev/printers/0 1
78 admin 340 S waveservermain
80 admin 348 S rcamdmain
83 admin 668 D insmod usb-storage.o
84 admin DW [usb-storage-0]
85 admin DW [scsi_eh_0]
87 admin 524 S -sh
97 admin 392 R ps

[admin@enzo admin]$ ssh -l admin 192.168.0.210
ssh: connect to host 192.168.0.210 port 22: Connection refused

[B]Ну это и понятно, за 8 минут (более чем достаточно) post-boot так и не стартанул.

[admin@thunderbird root]$ post-boot

[admin@enzo admin]$ ssh 192.168.0.210
admin@192.168.0.210's password:

Ок. Ручками все запускается.

И в догонку вопрос - какого черта, после ребута девайс начинает жизнь заново? (Thu Jan 1 00:08:24 GMT 1970) Это что, надо каждый раз flashfs save && flashfs commit && flashfs enable?

FilimoniC
02-12-2005, 13:17
Почему-то отказывается раьотать вот эта строчка в postmount:

su uegg /opt/eggdrop/runeggdrop.sh &
Вручную запускается нормально (т.е. если telnet'ом зайти)
Хотя, кажется, должна.. В чем может быть проблема, подскажите пожалуйста.

Oleg
02-12-2005, 15:03
А post-mount работает?

FilimoniC
02-12-2005, 16:09
Post-boot:

#!/bin/sh

mount /dev/discs/disc0/part1 /tmp/harddisk
# wait for /opt to mount
mount -obind /tmp/harddisk/opt /opt
i=0
while [ $i -le 30 ]
do
if [ -d /opt/etc ]
then
break
fi
sleep 1
i=`expr $i + 1`
done


dropbear
insmod scsi_mod
insmod sd_mod
insmod usb-storage


Post-mount:

#!/bin/sh
echo hello >> /tmp/1.txt
/bin/mount -o bind /tmp/harddisk/opt /opt
/opt/bin/su uegg /opt/eggdrop/runeggdrop.sh &


Файл 1.txt содержит "hello", что доказывает что Post-mount работает.

Oleg
02-12-2005, 16:21
Тогда строку запуска можно модифицировать так:

/opt/bin/su uegg /opt/eggdrop/runeggdrop.sh > /tmp/eggdrop 2>&1 &

и глянуть, что написано в /tmp/eggdrop
Скорее всего проблему в путях.

FilimoniC
02-12-2005, 16:46
Запустился, лог чистый. Спасибо!

FilimoniC
02-12-2005, 16:54
Странно.. То работало, а это
/opt/bin/su uegg /opt/eggdrop/runeggdrop.sh &

не пашет.

Простите, пашет....я опять ошибся

Duke
26-01-2006, 11:31
Хотелось бы поиметь возможность получать в post-firewall на входе также и адрес и имя MAN-интерфейса. В настоящее время переколбашевают локалку в связи с чем уже три раза за две недли меняли выдаваемый адрес. То что приходится получаеть его через DHCP и вручную переконфигурячивать настройки (ибо PPP как изветсно не подымается в режиме autoIP) я уже смирился, а вот править post-firewall начинает надоедать ;)

Oleg
26-01-2006, 11:35
Такое устроит? :)


echo $(nvram get wan_ifname)/$(nvram get wan_ipaddr)

Duke
26-01-2006, 11:52
Как-то не кашерно ;)

BAA
08-04-2006, 23:44
добрый ночи всем!
поискал по форуму и не нашел, может не там искал, тогда извините, но вопросы все-же задаю:
1. файлы pre-boot, post-boot, post-mount, pre-shutdown, post-firewall - таких файлов в каталоге /usr/local/sbin как и самого каталога /sbin в каталоге /usr/local я у себя на роутере не нашел. Их надо создавать самому? как?
2. следуя инструкции http://wl500g.info/showthread.php?t=3171 установил php-thttpd, из внутренней сети (192.168.1.1:8080) все видно, как зделать что бы веб-страница была видна из внешней сети?
заранее спасибо за любую помощь.

Tsvetkov
09-04-2006, 01:10
1. mkdir -p /usr/local/sbin/ - создание папки
читаем там пункт 4 внимательно
2. в пост post-firewall
iptables -I INPUT -i vlan1 -p tcp --dport 8080 -j ACCEPT
3. не забываем предохраняться
flashfs save && flashfs commit && flashfs enable

BAA
09-04-2006, 07:53
спасибо. действительно пунк 4. пропустил однако.

haw
27-04-2006, 11:42
И у меня не запускается vsftpd, только вручную, вот кусочек моего post-mount:

logger post-mount vsftpd???
vsftpd /opt/etc/vsftpd.conf &
logger post-mount
а это кусочек лога, почему между logger затесался cron - не знаю, его запуск стоит в post-mount раньше.

Apr 27 16:12:06 admin: post-mount vsftpd???
Apr 27 16:12:06 /opt/sbin/cron[134]: (CRON) STARTUP (V5.0)
Apr 27 16:12:06 admin: post-mount
А вот ещё - при установке vsftpd ipkg ругался что не может создать директорию /usr/share/empty, а сам vsftpd ругался на неё же. Тогда я создал /opt/share/empty, а в /opt/etc/vsftpd.conf добавил secure_chroot_dir=/opt/share/empty, не особо понимая что делаю, но это помогло и вручную он стал запускаться.

haw
02-05-2006, 05:09
Добавил путь в post-mount, теперь запускается.

/opt/sbin/vsftpd /opt/etc/vsftpd.conf &

TapakaH
25-09-2006, 19:22
Не могу найти post-boot на 500g Premium!

Ввожу /usr/local/sbin - такой директории нет. Делаю ls /usr/local - там только папка root. Подскажите, где его найти.

gaaronk
25-09-2006, 19:30
взять да и создать самому

TapakaH
25-09-2006, 19:36
Есть какой-нить шаблон post-boot'a? И как создавать текстовые файлы в lin?
Я в пингвине ламо :rolleyes:

TapakaH
25-09-2006, 21:50
Спасибо, вопрос закрыт, я всё понял! Надо было просто ФАКи почитать.

Еще бы в vi врубиться и тогда будет у меня свой маленький "сайтег".:)

filichev
15-11-2006, 17:10
Удивительно, может кто подскажет
после рестарта не выполняется post-firewall
post-boot и post-mount работают прекрасно. Естественно flasfs save;commit;enable делал.
Если выполнить скрипт руками - все ок.


[root@WL-500gp sbin]$ ls
post-boot post-firewall post-mount



[root@WL-500gp sbin]$ less post-firewall
#iptables -I INPUT -i ppp0 -p tcp --syn --dport 56881:56889 -j ACCEPT

#WEB,SSH and FTP access from WAN
iptables -D INPUT -j DROP
iptables -I INPUT -p tcp --syn --dport 56881:56889 -j ACCEPT
iptables -I INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -t nat -A PREROUTING -i vlan1 -p tcp --dport 22 -j DNAT --to-destinatio
iptables -t nat -A PREROUTING -i vlan1 -p tcp --dport 21 -j DNAT --to-destinatio
iptables -t nat -A PREROUTING -i vlan1 -p tcp --dport 80 -j DNAT --to-destinatio
iptables -A INPUT -j DROP
#Test for post-firewall.log
echo "post-firewall running...">/var/log/post-firewall.log

Oleg
15-11-2006, 18:05
Забыли #!/bin/sh

filichev
15-11-2006, 21:02
Забыли #!/bin/sh

Ой !:rolleyes:

Спасибо и извиняюсь за невнимательность.

Antonio_99RUS
18-04-2007, 10:41
А есть ли описание параметров, которые принимает post-firewall? Или я не там копаю (подробности ниже)?

Есть ли файлик, который выполняется при каждом переконнекте PPPoE-сессии (WAN == PPPoE)? Переконнект происходит "принудительный" со стороны биллинга провайдера, при этом с вероятностью примерно 0.95 меняется IP-адрес.

Суть в том, что (насколько я понимаю) для корректной видимости из инета "сервачка" внутри LAN необходимо при каждом переконнекте PPPoE сессии изменять (либо удалять и добавлять) несколько правил файрволла + пинать dyndns, чтобы тот обновил запись.

Мозговой затык состоит в том, что в правиле проброса порта я должен указать "внешний" IP, который меняется при переконнекте PPPoE-сессии.

al37919
18-04-2007, 11:27
если добавить в post-firewall следующую строчку

echo "$1 $2 $3 $4 $5 $6 $7 $8" > /tmp/tmp.log

то она у меня возвращает:

ppp0 83.237.166.123 br0 192.168.1.1 vlan1

так что параметры:

wan-if wan-ip lan-if lan-ip

смысл последнего параметра неясен. По сути это тоже wan-if

Antonio_99RUS
18-04-2007, 12:14
Отлично, спасибо.

С последним параметром тоже ясно, ибо в vlan1 мы можем засунуть и два (и три и т.п.) WAN-порта.

Пока неясно, выполняется ли post-firewall при каждом реконнекте PPPoE-сессии или только при загрузке.

Oleg
18-04-2007, 12:50
Каждый раз выполняется. Последние два параметра MANIF MANIP. Где-то это даже написано. :)

Antonio_99RUS
18-04-2007, 14:57
Частично признаю склероз. ;-)

Действительно, уже было написано, что [i]/usr/local/sbin/post-firewall исполняется всякий раз после того, как устройство меняет внутренние правила с помощью команд iptables, с тем, чтобы Вы могли внести свои изменения в firewall.

P.S. Про аргументы вызова создам новую тему, чтобы не мусорить здесь.

Antonio_99RUS
18-04-2007, 15:00
По результатам обсуждения http://wl500g.info/newreply.php?do=newreply&noquote=1&p=52616 вроде бы получается так: (?)

$1 -- WANIF
$2 -- WANIP
$3 -- LANIF
$4 -- LANIP
$5 -- MANIF
$6 -- MANIP
$7 и так далее -- не передаётся

Таким образом, типовое правило проброса порта (например, 46882) на машину в LAN (192.168.1.123) принимает (?) вид:


iptables -t nat -A PREROUTING -p tcp -d $1/255.255.255.255 --dport 46882 -j DNAT --to 192.168.1.123:46882

Oleg
19-04-2007, 11:37
Что с этим постом сделать? :) Т.е. он полезный конечно.

Antonio_99RUS
19-04-2007, 11:52
Планировалось, что будут комментарии по поводу правильности (или неправильности) написанного правила проброса порта. В той теме писать не стал, ибо оффтопик это там.

Что делать с постом? ;-) Вам решать. Нарушил -- сносите.

Mirage-net
19-04-2007, 11:55
Что с этим постом сделать? :) Т.е. он полезный конечно.
в "Часто задаваемые вопросы" его ...

thebix
02-07-2007, 10:28
хочу настроить post-firewall так, чтобы максимально закрыть и на вход и на выход, т.е. чтобы я сам приоткрывал нужные порты. пробовал различные варианты iptables, в итоге что то случилось с портфорвардингом. раньше по 2222 делался форвард на 21-й порт моей домашней машины. теперь этого не работает. с rdp, видимо, та же проблема случилось.
может, это потому что я пробовал использовать вначале файла правило iptables -F. т.е. может я сбросил какие то важные настройки файервола, которые post-firewall не восстанавливаются? хотя это, сомнительно, конечно. вот пример часть моего post-firewall с некоторыми комментариями:
начало файла теперь стандартное:

#!/bin/sh
## FIREWALL
## set default policy
iptables -P INPUT DROP

дальше идут правила (привел не все, т.к. все писать нету смысла)

(на десктопе стоит serv-u. раньше (до iptables -F) заходилось ок, теперь на него просто не заходит. т.е. нету даже подключения, иконка серв-ю не становится синей)

## allow FTP from WAN to my desktop computer
iptables -I INPUT -p tcp -d $MY_INET_IP --dport 2222 -j ACCEPT
iptables -t nat -A PREROUTING -i "$1" -p tcp --dport 2222 -j DNAT --to-destination 192.168.1.10:21

(последняя строка для того, чтобы веб сервер работал на 80-м порту извне)

## allow HTTP-server from WAN
iptables -I INPUT -p tcp -d $MY_INET_IP --dport 80 -j ACCEPT
iptables -I INPUT -p tcp -d $MY_INET_IP --dport 8081 -j ACCEPT
iptables -t nat -A PREROUTING -i "$1" -p tcp --dport 80 -j REDIRECT --to-port 8081

(делаю RDP, но, такое ощущение, что просто не редиректит)

## allow RDP at my desktop at port 3389
iptables -I INPUT -p tcp -d $MY_INET_IP --dport 3389 -j ACCEPT
iptables -t nat -A PREROUTING -i "$1" -p tcp -d $MY_INET_IP --dport 3389 -j DNAT --to-destination 192.168.1.10:3389

## allow TORRENT on ports 56881:56889, 65534
iptables -I INPUT -i ppp0 -p tcp --syn --dport 56881:56889 -j ACCEPT
iptables -I INPUT -i ppp0 -p tcp --syn --dport 65534 -j ACCEPT
по последнему: ppp0 = "$1" ?

(для борьбы провайдера с роутерами в сети)

## for anti-router check of MAN provider
iptables -t mangle -F
iptables -t mangle -I FORWARD -m ttl --ttl 127 -o \$1 -j TTL --ttl-set 128
iptables -t mangle -I FORWARD -m ttl --ttl 1 -i \$1 -j TTL --ttl-set 2
iptables -t mangle -I FORWARD -m ttl --ttl 127 -o \$(nvram get wan_ifname) -j TTL --ttl-set 128
iptables -t mangle -I FORWARD -m ttl --ttl 1 -i \$(nvram get wan_ifname) -j TTL --ttl-set 2

на эти строки противодействия борьбе с роутерами, при запуске post-firewall выдаются ошибки:
Warning: wierd character in interface `$1' (No aliases, :, ! or *).
Warning: wierd character in interface `$1' (No aliases, :, ! or *).
./post-firewall: ./post-firewall: 45: Syntax error: "(" unexpected

строка 45 - это строка:
iptables -t mangle -I FORWARD -m ttl --ttl 127 -o \$(nvram get wan_ifname) -j TTL --ttl-set 128

ну и окончание post-firewall тоже вполне стандартное:

iptables -A OUTPUT -s $MY_INET_IP/255.255.255.255 -o vlan1 -j ACCEPT
iptables -A OUTPUT -o vlan1 -j DROP

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

так же есть еще вопрос, об обеспечении работы ftp в пассивном режиме при введении правил для OUTGOING траффика.
заработают ли правила:

$i – Интернет, т.е. any comp
$j - ftp сервер
$iptables -A FORWARD -p tcp -s $i --sport 1024:65535 -d $j --dport 21 -m state --state NEW,ESTABLISHED -j ACCEPT
$iptables -A FORWARD -p tcp -s $j --sport 21 -d $i --dport 1024:65535 -m state --state RELATED,ESTABLISHED -j ACCEPT
$iptables -A FORWARD -p tcp -s $i --sport 1024:65535 -d $j --dport 1024:65535 -m state --state RELATED,ESTABLISHED -j ACCEPT
$iptables -A FORWARD -p tcp -s $j --sport 1024:65535 -d $i --dport 1024:65535 -m state --state RELATED,ESTABLISHED -j ACCEPT
или нужно еще какой то дополнительный модуль определения состояния ftp-пакетов ставить? слышал про какой то ftp_conntrack...

заранее спасибо

Mam(O)n
02-07-2007, 21:09
iptables -F имхо плохая идея.
Для проброса портов ненужно ничего добавлять в таблицу INPUT (iptables -I INPUT). Достаточно добавить правило в PREROUTING.
Для защиты от борьбы провайдера с роутерами в сети:

В post-boot добавить

#!/bin/sh
insmod ipt_ttl
insmod ipt_TTL
В post-firewall добавить

#!/bin/sh
iptables -t mangle -I PREROUTING -i vlan1 -j TTL --ttl-inc 1

ftp_conntrack называется ip_conntrack_ftp. Он по дефолту должен быть загружен. Посик по форуму может дать дополнительную информацию по этому модулю.
iptables -L -nv -t nat && iptables -L -vn в студию

thebix
03-07-2007, 08:07
большое спасибо за ответ!
1. почему плохая? т.е. моя мысль о том, что я удалил -F какие то нужные правила не лишена основания?
2. я на инпут просто разрешаю нужные порты, потому что по умолчанию все дропятся.
3. спасибо за совет. это подойдет для внешнего ip с подключением к инету по vpn? домой доберусь - попробую...
5. там получилось много текста, поэтому в приложенном файле результат выполнения команды. $MY_INET_IP соответственно ой внешний ip.

RodAn
31-07-2007, 06:30
Помогите записать в post-boot строку route add -host 193.125.142.226 gw 172.16.0.1 vlan1

Я прочитал на форуме что эту строку надо записывать с помощью telnet на роутер

я нажимаю кнопку пуск-выполнить: telnet 192.168.1.1
появляется черное окно и происходит запрос на login и пароль, я их ввёл.
появляется строка: root$:
а дальше какие набивать команды чтобы
строка route add -host 193.125.142.226 gw 172.16.0.1 vlan1 оказалась в файле post-boot

если можно поподробней, а то у меня не получается.

Заранее благодарен.

KRandall
31-07-2007, 07:35
Проверить, существует ли post-boot
ls -l /usr/local/sbin

выйдет что-то типа
-rwxr-xr-x 1 admin root 1475 Jun 24 20:45 post-boot
-rwxr-xr-x 1 admin root 2108 Jun 15 08:52 post-firewall

Если нет, то нужно его создать
echo "#!/bin/sh" > /usr/local/sbin/post-boot
chmod +x /usr/local/sbin/post-boot
а дальше дописывать туда все, что нужно
echo "вот тут то, что нужно записать" >> /usr/local/sbin/post-boot
И после этого не забыть сделать
flashfs save && flashfs commit && flashfs enable
Посмотреть содержимое файла
cat /usr/local/sbin/post-boot

RodAn
01-08-2007, 16:18
Что то у меня снова не получается
Когда я набираю строку root ]$: ls -l /usr/local/sbin и нажимаю enter
появляется такая строка root ]$

если я набираю echo "#!/bin/sh" >> /usr/local/sbin/post-boot

он отвечает -sh: cannot create /usr/local/sbin/post-boot: directory nonexistent

что я делаю не правильно? помогите

Mam(O)n
01-08-2007, 17:46
нужно сначала сделать mkdir -p /usr/local/sbin

А почему нельзя прописать этот маршрут через веб-интерфейс??

RodAn
02-08-2007, 05:13
Mam(O)n

Спасибо.Все записалось.Только после команды cat /usr/local/sbin/post-boot у меня оказалось что я их прописал 2 раза

Как удалить одну строку из post-boot?

Я пытаюсь это сделать для того чтобы скачивать информацию с локальных адресов сети без ограничения скорости, а у меня локалка работает на той же скорости что и интернет.
На этом сайте я нашел такие настройки:
Долгопрудный, Физтех Телеком (telecom.mipt.ru)
Роутер: ASUS WL-500gP
Прошивка: 1.9.2.7-7f-pre4
Тип соединения: Static IP + PPTP
IP: 172.16.11.3
Netmask: 255.255.0.0
Default GW: сознательно не указан
DNS1: 193.125.143.173
DNS2: 192.188.189.3
Additional pppd options: nomppe nomppc
Heart-Beat Server: vpdn.mipt.ru
Static routes:
81.5.64.0 255.255.192.0 172.16.0.1 1 MAN
192.188.189.0 255.255.255.0 172.16.0.1 1 MAN
194.85.80.0 255.255.252.0 172.16.0.1 1 MAN
193.168.0.0 255.255.0.0 172.16.0.1 1 MAN
10.0.0.0 255.0.0.0 172.16.0.1 1 MAN
193.125.143.0 255.255.255.0 172.16.0.1 1 MAN
193.125.142.0 255.255.255.0 172.16.0.1 1 MAN
81.5.95.0 255.255.255.0 172.16.0.1 1 MAN

Но работать все начинает только после добавления "вручную" или из post-boot статического роута на Heart-Beat Server:

route add -host 193.125.142.226 gw 172.16.0.1 vlan1

Mam(O)n
02-08-2007, 06:50
у меня оказалось что я их прописал 2 раза. Как удалить одну строку из post-boot?
Если не установлен текстовый редактор то проще заново создать файл:


echo -e "#!/bin/sh\n route add -host 193.125.142.226 gw 172.16.0.1 vlan1" > /usr/local/sbin/post-boot

После всех правок незабывай сохранять во флеш (flashfs и т.д.)
И еще, если мне неизменяет память, таблицы маршрутизации так же как и таблицы iptables обнуляются в дефолт после каждого поднятия/разрыва VPN. Так что лучше это в /usr/local/sbin/post-firewall добавить.


Но работать все начинает только после добавления "вручную" ... роута на Heart-Beat Server:

Странно все это. Ведь этот маршрут уже прописан в веб морде, ведь это так?


193.125.142.0 255.255.255.0 172.16.0.1 1 MAN

Может у тебя не стоит в веб морде IP Config => Route => Enable static routes? в положении YES?

therox
28-08-2007, 17:32
После перезагрузки не запускается файл /usr/local/sbin/post-boot. Приходится влезать в него и запускать вручную. ЧТо можно сделать для автоматического запуска сего файла после загрузки?

visual
28-08-2007, 18:01
После перезагрузки не запускается файл /usr/local/sbin/post-boot. Приходится влезать в него и запускать вручную. ЧТо можно сделать для автоматического запуска сего файла после загрузки?

chmod +x /usr/local/sbin/post-boot
flashfs save && flashfs commit && flashfs enable
reboot
не помогает?

therox
28-08-2007, 18:10
к сожалению нет. сам файл появляется, есть флаг запускаемого, но автоматом не запускается. :(

PS: Прошивка от Олега 1.9.2.7-7g

Lt_Flash
28-08-2007, 18:15
к сожалению нет. сам файл появляется, есть флаг запускаемого, но автоматом не запускается. :(

Видимо используются какие-то команды, которые надо использовать в другом файле. Приведите содержимое файла, пожалуйста.

therox
28-08-2007, 18:30
#!/bin/sh
/sbin/route add -net 89.179.135.67 netmask 255.255.255.255 gw 10.234.0.17
/sbin/route add -net 85.21.29.242 netmask 255.255.255.255 gw 10.234.0.17
/sbin/route add -net 85.21.79.0 netmask 255.255.255.0 gw 10.234.0.17
/sbin/route add -net 85.21.90.0 netmask 255.255.255.0 gw 10.234.0.17
/sbin/route add -net 10.0.0.0 netmask 255.0.0.0 gw 10.234.0.17
/sbin/route add -net 85.21.138.210 netmask 255.255.255.255 gw 10.234.0.17
/sbin/route add -net 85.21.138.214 netmask 255.255.255.255 gw 10.234.0.17
/sbin/route add -net 85.21.52.254 netmask 255.255.255.255 gw 10.234.0.17
/sbin/route add -net 83.102.146.96 netmask 255.255.255.224 gw 10.234.0.17
/sbin/route add -net 85.21.88.130 netmask 255.255.255.255 gw 10.234.0.17
/sbin/route add -net 83.102.231.32 netmask 255.255.255.240 gw 10.234.0.17
/sbin/route add -net 195.14.50.16 netmask 255.255.255.255 gw 10.234.0.17
/sbin/route add -net 85.21.108.16 netmask 255.255.255.240 gw 10.234.0.17
/sbin/route add -net 195.14.50.26 netmask 255.255.255.255 gw 10.234.0.17
/sbin/route add -net 195.14.50.93 netmask 255.255.255.255 gw 10.234.0.17
/sbin/route add -net 195.14.50.16 netmask 255.255.255.255 gw 10.234.0.17
/sbin/route add -net 83.102.255.131 netmask 255.255.255.255 gw 10.234.0.17
/sbin/route add -net 83.102.255.130 netmask 255.255.255.255 gw 10.234.0.17
wl radio on

imdex
28-08-2007, 18:41
Пост-бут случаем не в блокноте написан? (http://www.wl500g.info/showthread.php?t=10370)

therox
28-08-2007, 18:44
в vi.
Повторюсь, если его вручную запускать под телнетом - запускается. А автоматом - нет.

Mam(O)n
28-08-2007, 19:14
Маршруты нужно в post-firewall прописывать

therox
28-08-2007, 19:20
Роутинг подхватился из post-firewall. а wl radio on в post-boot не работает. (

Reyter
29-08-2007, 05:29
wl radio on в post-boot не работает. (
Если не секрет - а зачем вообще Wi-Fi включать в post-boot? Включите его в web-интерфейсе и сохраните.

therox
29-08-2007, 07:16
Совершенно не секрет. При подключении по l2tp радио не поднимается настройкой из веб. :( Приходится лезть в веб-интерфейс и врубать его вручную.

Lt_Flash
29-08-2007, 07:53
Полный путь до бинарника указывайте для радио. То есть не wl radio on, а /usr/local/bin/wl radio on - или где он правильно лежит.

therox
29-08-2007, 08:55
А чем объяснить запуск радио с помощью "./post-boot"? Радио-то запускается, если этот файл запустить ВРУЧНУЮ, а мне хочется, чтобы post-boot запускался САМ.

Reyter
29-08-2007, 09:03
А чем объяснить запуск радио с помощью "./post-boot"? Радио-то запускается, если этот файл запустить ВРУЧНУЮ, а мне хочется, чтобы post-boot запускался САМ.
Возможно post-boot запускается слишком рано и возникают какие-то конфликты с l2tp.
Проверить довольно просто. Отключить l2tp и радио в web-интерфейсе и перезагрузить. Если радио включится, значит с самим post-boot все нормально, просто перед включением радио в нем нужно прописать sleep сколько-то секунд. Если не включится, то это уже непонятно.

Duke
29-08-2007, 10:04
10.234.0.17 это случаем не интерфейс l2tp?

therox
29-08-2007, 11:09
Reyter, спасибо, попробую.

Duke, нет. Это шлюз корбины.

alf555
29-08-2007, 19:10
После перезагрузки не запускается файл /usr/local/sbin/post-firewall.

Пожалуйста, подскажите в чем может быть причина!? :confused:

права на запуск стоят правильные...

содержимое файла:

#!/bin/sh
/sbin/route add -net 81.25.32.0 netmask 255.255.255.0 gw 192.168.5.1

Mam(O)n
29-08-2007, 19:54
Перевод строки (http://wl500g.info/showpost.php?p=56660&postcount=348) в формате *nix?

alf555
30-08-2007, 06:21
Перевод строки (http://wl500g.info/showpost.php?p=56660&postcount=348) в формате *nix?

Да в *nix. В родном редакторе vi файл создавался. Аналогичным образом создавался post-boot - он замечательно работает... :(

SpiderX
30-08-2007, 21:30
Сам по себе файл запускается?
flashfs save
flashfs commit
flashfs enable
не забыли?

alf555
31-08-2007, 06:35
Сам по себе файл запускается?
flashfs save
flashfs commit
flashfs enable
не забыли?

Да, файл существует, но не запускается!

Ради прикола менял содержимое файла на:



#!/bin/sh
cat /usr/local/sbin/post-boot > /tmp/blabla


так вот /tmp/blabla не создаётся...

В связи с этим тупой вопрос: кто и где вызывает post-firewall? кстати, вообще есть управление ведением журнала (лога), типа debug level какой, чтоб более подробно процесс загрузки отследить?

Mam(O)n
31-08-2007, 08:20
Чтоб окончательно убедится в том, что это мистика, введи(а лучше скопипасти) следующее:


echo -e '#!/bin/sh'"\n/usr/bin/logger -s -t \"\$0[\$\$]\" \"Started\"" > /usr/local/sbin/post-firewall
chmod 755 /usr/local/sbin/post-firewall
flashfs save && flashfs commit && flashfs enable
reboot

В системном логе должна появится запись о том, что скрипт стартовал.

зы. А роутер находится в режиме home gateway?

Lt_Flash
31-08-2007, 11:14
chmod +x post-firewall може быть забыли?

alf555
31-08-2007, 15:23
chmod +x post-firewall може быть забыли?

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


права на запуск стоят правильные...

alf555
31-08-2007, 16:06
Чтоб окончательно убедится в том, что это мистика, введи(а лучше скопипасти) следующее:


echo -e '#!/bin/sh'"\n/usr/bin/logger -s -t \"\$0[\$\$]\" \"Started\"" > /usr/local/sbin/post-firewall
chmod 755 /usr/local/sbin/post-firewall
flashfs save && flashfs commit && flashfs enable
reboot

В системном логе должна появится запись о том, что скрипт стартовал.

зы. А роутер находится в режиме home gateway?

Mam(O)n, Благодарю за подсказку (!!!), мистики не оказалось...



Jan 1 02:00:06 dhcp client: deconfig: lease is lost
Jan 1 02:00:15 udhcpc[87]: No lease, forking to background.
Jan 1 02:00:15 pppd[93]: pppd 2.4.2 started by admin, uid 0
Jan 1 02:00:15 pppd[93]: Serial connection established.
Jan 1 02:00:15 pppd[93]: Using interface ppp0
Jan 1 02:00:15 pppd[93]: Connect: ppp0 <--> /dev/pts/0
Jan 1 02:00:16 pptp[101]: anon log[main:pptp.c:267]: The synchronous pptp option is NOT activated
Jan 1 02:00:16 pptp[101]: anon warn[pptp_gre_bind:pptp_gre.c:95]: connect: Network is unreachable
Jan 1 02:00:16 pptp[101]: anon fatal[main:pptp.c:275]: Cannot bind GRE socket, aborting.
Jan 1 02:00:16 pppd[93]: Modem hangup
Jan 1 02:00:16 pppd[93]: Connection terminated.
Jan 1 02:00:46 pppd[93]: Serial connection established.
Jan 1 02:00:46 pppd[93]: Using interface ppp0
Jan 1 02:00:46 pppd[93]: Connect: ppp0 <--> /dev/pts/0
Jan 1 02:00:46 pptp[118]: anon log[main:pptp.c:267]: The synchronous pptp option is NOT activated
Jan 1 02:00:46 pptp[122]: anon log[ctrlp_rep:pptp_ctrl.c:251]: Sent control packet type is 1 'Start-Control-Connection-Request'
Jan 1 02:00:46 pptp[122]: anon log[ctrlp_disp:pptp_ctrl.c:732]: Received Start Control Connection Reply
Jan 1 02:00:46 pptp[122]: anon log[ctrlp_disp:pptp_ctrl.c:766]: Client connection established.
Jan 1 02:00:47 pptp[122]: anon log[ctrlp_rep:pptp_ctrl.c:251]: Sent control packet type is 7 'Outgoing-Call-Request'
Jan 1 02:00:47 pptp[122]: anon log[ctrlp_disp:pptp_ctrl.c:851]: Received Outgoing Call Reply.
Jan 1 02:00:47 pptp[122]: anon log[ctrlp_disp:pptp_ctrl.c:890]: Outgoing call established (call ID 0, peer's call ID 34446).
Jan 1 02:00:47 pptp[122]: anon log[ctrlp_disp:pptp_ctrl.c:943]: PPTP_SET_LINK_INFO received from peer_callid 1031
Jan 1 02:00:47 pptp[122]: anon log[ctrlp_disp:pptp_ctrl.c:946]: send_accm is FFFFFFFF, recv_accm is FFFFFFFF
Jan 1 02:00:47 pptp[122]: anon warn[ctrlp_disp:pptp_ctrl.c:949]: Non-zero Async Control Character Maps are not supported!
Jan 1 02:00:47 pppd[93]: local IP address 81.25.[].[]
Jan 1 02:00:47 pppd[93]: remote IP address 81.25.[].[]
Jan 1 02:00:48 /usr/local/sbin/post-firewall[126]: Started
Jan 1 02:00:48 kernel: HTB init, kernel part version 3.16


Получается, что post-firewall запустился после того, как поднялось PPTP соединение? Так и должно быть? Почему тогда роуты рекомендуется прописывать именно в post-firewall, а не в post-boot если, без них (в моём случае) роутер не увидит VPN сервера провайдера, поскольку тот в абсолютно другой подсети???

Reyter
01-09-2007, 08:20
Получается, что post-firewall запустился после того, как поднялось PPTP соединение? Так и должно быть? Почему тогда роуты рекомендуется прописывать именно в post-firewall, а не в post-boot если, без них (в моём случае) роутер не увидит VPN сервера провайдера, поскольку тот в абсолютно другой подсети???
Смотря какие роуты. В post-firewall нужно записывать роуты для динамических интерфейсов. Т.е. типа PPPoE и т.п. Т.е. для тех, для котроых IP назначается динамически и при разрыве/установлении может изменяться.
Постоянные же роуты, предназначенные для интерфейсов с неизменяемым на протяжении работы роутера IP естественно нужно прописывать в post-boot.
Надеюсь понятно объяснил ;)

therox
01-09-2007, 09:52
ок, заработало, всем спасибо. действительно, выставив задержку, начало нормально запускаться радио.

Mam(O)n
03-09-2007, 18:44
Reyter, я конечно могу и ошибаться, но по-моему перед каждым выполнением post-firewall таблица маршрутов (ровно как и таблицы iptables) обнуляется и прописываются дефолтные настройки с веб-интерфейса. А сам скрипт запускается после изменения состояния WAN (connect/disconnect). Что также справедливо и для режима static ip.

Reyter
04-09-2007, 05:21
Reyter, я конечно могу и ошибаться, но по-моему перед каждым выполнением post-firewall таблица маршрутов (ровно как и таблицы iptables) обнуляется и прописываются дефолтные настройки с веб-интерфейса. А сам скрипт запускается после изменения состояния WAN (connect/disconnect). Что также справедливо и для режима static ip.
Не буду спорить. Может я и не прав. Нужно проверить. Лично мне казалось, что из роутов удаляются только роуты на отконекченный интерфейс.
Одно могу сказать точно - при disconnect интерфейса post-firewall почему-то (увы!) выполняется далеко не всегда. Попробую впрочем получить "документальные" подтверждения этому (и предыдущему) утверждению при помоги логгирования выполнения post-firewall, поскольку вообще вопрос достаточно серъезный.
ЗЫ: Ну и конечно post-firewall должен выполняться отнюдь не только при изменении состояния WAN, а вообще любого интерфейса.

garry111
23-09-2007, 20:01
1. Где должны располагаться файлы: post-boot, post-firewall, post-mount, pre-shutdown? Почему в разных постах этого форума они располагаются в этих разных директориях?
/usr/local/sbin/
/tmp/harddisk/opt
или ещё где-нибудь.
Есть хоть какой-нибудь стандарт для этого роутера (его системы)?

2. И где должна располагаться директория opt? Я нашёл следующие варианты:
/tmp/harddisk/opt
/dev/scsi/host0/bus0/target0/lun0/part0
/dev/scsi/host0/bus0/target0/lun0/part1
и т.п.

Какой вариант правильный для программирования шелл-скриптов (или для линукса будет наверно корректнее спросить "наиболее универсальный")?

Олег, если можно попросить - хотелось бы услышать твоё авторитетное мнение. Благодарю.

Mam(O)n
23-09-2007, 22:42
/usr/local это симлинк на /tmp/local. То есть /usr/local/sbin/ == /tmp/local/sbin/.

/tmp/harddisk это место, куда по-умолчанию подключаются файловые системы внешних накопителей

Директория opt на диске может распологатся где угодно и называтся как угодно, главная чтоб эта директория была подмонтирована в корневую файловую систему под именем /opt

/dev/scsi/host0/bus0/target0/lun0/partх ( == /dev/discs/disc0/partx) это блочные устройства (partx - раздел диска, disc - весь диск), через которые идет работа с накопителем.



Какой вариант правильный для программирования шелл-скриптов (или для линукса будет наверно корректнее спросить "наиболее универсальный")?
Не понял вопроса. Про какие варианты идет речь?

garry111
23-09-2007, 23:15
Чтобы скрипт однозначно определял место, куда надо записать (или внести изменения) в файлы. Т.е. не зависимо от того как подключен внешний носитель: в порт 1 или 2, через usb-hub или через card-reader разных форматов.

И ещё: разве /usr/local/sbin/ == /tmp/harddisk/opt?
В "настройке с нуля" используются 2 файла, из /usr/local/sbin/post-boot копируется на каком-то этапе в /tmp/harddisk/opt - поэтому и не понятно и хочется разобраться что к чему.

Uncle_Fry
24-09-2007, 00:10
Чтобы скрипт однозначно определял место, куда надо записать (или внести изменения) в файлы. Т.е. не зависимо от того как подключен внешний носитель: в порт 1 или 2, через usb-hub или через card-reader разных форматов.

И ещё: разве /usr/local/sbin/ == /tmp/harddisk/opt?
В "настройке с нуля" используются 2 файла, из /usr/local/sbin/post-boot копируется на каком-то этапе в /tmp/harddisk/opt - поэтому и не понятно и хочется разобраться что к чему.

Как я понимаю, имелось в виду вот это

настройка автозапуска
в файл /usr/local/sbin/post-boot нужно будет добавить строки. Добавлять можно редактором Midnight Commander (перед запуском дать команды
export TERMINFO="/opt/share/terminfo"
export TERM="linux"
иначе подвиснет; кнопки F1 F2 F3 нажимаются путем нажатия клавиши ESCape и потом соответствующей цифры на основной клавиатуре) или vi (для больших любителей) или скопировать на флэшку и по ftp или подключив диск отредактировать. Копировать командой
cp /usr/local/sbin/post-boot /tmp/harddisk/opt/post-boot
Ну так еще раз внимательно прочитай - скопировать предлагается для того, что бы данные файлы редактировать, подключив диск. Потому, что через самбу, например, /usr/local/sbin/ не видно.
В любом случае, потом post-boot нужно перенести обратно в /usr/local/sbin/

Reyter
24-09-2007, 06:34
Похоже garry111 совсем запутался, поэтому я отвечу проще:
1) /usr/local/sbin/ (или же /tmp/local/sbin/ - это одно и то же)
2) /tmp/harddisk/opt После того, как вы ее подмонтируете в соответствии с инструкцией, она будет так же размещаться в корне, т.е. в "просто" /opt (это тоже одна и та же папка)

Остальным пока не забивайте голову, со временем разберетесь.

garry111
24-09-2007, 14:52
Reyter

Спасибо, но хочу именно немного глубже понять.

1. По поводу
/dev/scsi/host0/bus0/target0/lun0/part0

Если
part0 - первый раздел первой флешки
то
lun1 - вторая флешка?
target1 - второй usb порт роутера?

2. Является ли истинной то, что единственно исполняемым при загрузке является /usr/local/sbin/post-boot, а все остальные игнорируются?

3. Если я управляю и редактирую файлы асуса по ssh, то мне

cp /usr/local/sbin/post-boot /tmp/harddisk/opt/post-boot

выполнять при любом раскладе не надо?

4. И ещё раз спрошу: является ли /usr/local/sbin/ == /tmp/harddisk/opt?

Благодарю за лаконичные ответы!

Mam(O)n
24-09-2007, 16:29
К usb это отношения не имеет. Это scsi (http://ru.wikipedia.org/wiki/SCSI) - специфические обозначения. Вторая флешка будет висеть в /dev/scsi/host1/bus0/target0/lun0/ ( == /dev/discs/disc1)
Всё остальное это что? При загрузке много чего исполняется, в т.ч. pre-boot - перед загрузкой основных модулей ядра, и post-boot после инициализации сервисов. Подробнее в FAQ (http://wl500g.info/showpost.php?p=23521&postcount=12).
Если редактируешь файлы по ssh то и редактируй их там, где они и должны быть, незачем лишний раз жонглировать ими. Единственное что можно сделать это backup файла, допустим приведенной тобой командой. Также, если хочешь глубже понять, зачем после правки файлов pos--boot и т.п. нужно исполнять flashfs save && flashfs commit && flashfs enable то прочитай это (http://wl500g.info/showpost.php?p=62659&postcount=13).
/usr/local/sbin/ и /tmp/harddisk/opt не одно и тоже.

olenin
04-11-2007, 15:14
Создал файл /usr/local/sbin/post-mount
Прописал в него нужные команды
Сохранил во flashfs
Что нужно сделать, чтобы он выполнялся сразу после монтирования? Права на выполнение стоят

al37919
04-11-2007, 15:53
1)в первой строке файла #!/bin/sh есть?

2)символы конца строки должны быть корректные.

olenin
04-11-2007, 17:10
Спасибо. Я забыл #!/bin/sh

SysCat
05-11-2007, 09:33
А за что отвечает строка #!/bin/sh
ведь вроде символ # является признаком коментария???

djet
05-11-2007, 10:34
А за что отвечает строка #!/bin/sh
ведь вроде символ # является признаком коментария???
"#!" - директива на запуск указанного обработчика (шелла) исполняемого файла.

Mam(O)n
28-11-2007, 12:09
в post boot не сработало
Грабли тут могут быть такие:

Первый строкой в скрипте должна быть shebang (http://en.wikipedia.org/wiki/Shebang_%28Unix%29) строка, например #!/bin/sh
В файле переводы строк должны быть в unix формате. Тоесть например, если скрипт был набран в блокноте windows то он не будет работать. http://wl500g.info/showpost.php?p=56660&postcount=348
Не заданы права на исполнение. chmod +x /usr/local/sbin/post-boot
Файл не был сохранен на флеш. flashfs save && flashfs commit; flashfs enable
Синтаксические ошибки
Скрипт должен находится в /usr/local/sbin/post-boot

Andrey_3
25-12-2007, 20:23
Приветствую!

Подскажите в какой момент исполняется файл pre-shutdown? Почитал, что он работает "перед перезагрузкой системы". То есть только при выполении команды reboot или в каких-то иных случаях тоже?

Oleg
25-12-2007, 21:16
Всегда, когда делается reboot или halt.

Andrey_3
25-12-2007, 21:21
Всегда, когда делается reboot или halt.

Олег, огромное спасибо за быстрый ответ. А то нигде найти эту инфу не смог.

Oleg
25-12-2007, 21:33
ПОнятно,что когда веб интерфейс делает save&restart, то он тоже отрабатывает. Ибо там тоже ребут.

tumoxa
30-01-2008, 08:42
У меня такая проблема : я редактировал post-firewall и закрыл все что можно,
теперь не могу войти на роутер ни каким образом, что делать подскажите ??? P.s. Сбрасывать пробывал перешивать тоже, но подсеть таже что и была...

post-firewall

#!/bin/sh
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

Oleg
30-01-2008, 09:13
Сбросить в дефолт кнопкой.

tumoxa
30-01-2008, 10:09
Сбросить в дефолт кнопкой.

Пробовал не помогает, все как надо power мигает вроде сбрасывается, а в итоге остается внутренняя под сеть, какие еще есть варианты ???

gelikopter
30-01-2008, 15:22
Олег, подскажите пожалуйста. Сбросить в дефолт надо нажимая на кнопку "restore" или "ezsetup"?
В руководстве говорится про кнопку Reset, которой на корпусе просто нет :(

После включения горит лампочка питания. AIR - не горит. Правда беспроводную часть отключали через веб интерфейс. Может ли она не гореть из-за этого?

gelikopter
31-01-2008, 07:46
Проблема успешно решилась, правда не до конца осознал произошедшее.
Сброс кнопкой не помогал :(
Помогла перешивка имнно родной прошивкой.

Ilmarinen
31-01-2008, 08:39
Проблема успешно решилась, правда не до конца осознал произошедшее.
Сброс кнопкой не помогал :(
Помогла перешивка имнно родной прошивкой.
В "родной" прошивке post- и pre- скрипты не вызываются.

kbfos
09-03-2008, 19:15
Подскажите что нужно сделать что-бы поднять afpd после перезагрузки?
Добавил строку afpd в post-boot (пробовал /opt/sbin/afpd) не помогает.
В ручную поднимается и работает на ура.

Что делаю не так?

al37919
09-03-2008, 19:27
а в post-mount ?
либо в post-boot, но предварительно убедившись, что носитель смонтирован (простейший способ sleep 15s)

kbfos
09-03-2008, 19:29
а в post-mount ?
либо в post-boot, но предварительно убедившись, что носитель смонтирован (простейший способ sleep 15s)

Пробовал. Не помогло (

al37919
09-03-2008, 19:44
post-boot вообще выполняется?
Простейший способ проверки --- добавить
logger "something"
потом искать в логе это сообщение.

kbfos
09-03-2008, 19:45
выполняется тк засек в ps sleep 15s

al37919
09-03-2008, 19:48
может 15s не хватило? Потому что дальше, пожалуй следует --- не занаю...
afpd --- это что ли шара для маков?

kbfos
09-03-2008, 19:51
Только что проверил, post-boot отметился в логе.
Да, именно шара для мак.
Может есть еще способы?

lly
09-03-2008, 19:55
Если post-boot выполняется - перенаправить вывод в какой-нибудь файл в /tmp и глянуть может на что ругается?

afpd 1>/tmp/afp-debug 2>&1

al37919
09-03-2008, 19:57
из post-mount тоже нейдет?

можно попробовать запускать так:
/opt/sbin/afpd > /tmp/afpd.log 2>&1
может он скажет что не нравится...

lly :)

зы. кстати из этих файлов запускать обязательно с полным путем или прописывать /opt/sbin в PATH

kbfos
09-03-2008, 20:32
Не знаю что случилось, но afpd запускается. Причем в лог не ругается.
Спасибо за внимание!

coraxpda
13-04-2008, 09:55
Имеем wl500gp, поставлен 3proxy, на wan висит домовая сеть с бесплатным трафиком (192.168.0.0/16), инет сосем через ppp0, на WiFi висит пара соседей.

Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
MASQUERADE all -- !10.10.1.163 anywhere это ppp0
MASQUERADE all -- !192.168.130.243 anywhere это местная сетка

Что нужно прописать через iptables в post-firewall, чтобы компьютеры подключенные к свитчу wl500gp (проводами) работали как через прокси, так и имели NAT в оба интерфейса (это по умолчанию и работает), а WiFi юзера имели NAT только в местную сетку, а в ppp0 глядели только через проксю с авторизацией.
NAT на ppp0 я убирал, но тогда он рубится для всех, что не гуд...
Видится, что надо в цепочку Forward правило прописать, но какое?

ncat
07-06-2008, 17:01
Добрый день. Появилось несколько вопросов по post-mount.
что есть: asus wl500gp
flash 1024 - part1 swap, part2 - часть для пакетов и тд.
внешний hdd - для хранения файлов, общий ресурс в сети, в будущем планирую закачивать на него торренты с помощью роутера.

1.
мой post-mount:

#!/bin/sh

# Activate swap
swapon /dev/discs/disc0/part1

# Mounting disc0_2 to opt
mount -o sync,noatime,rw /dev/discs/disc0/part2 /tmp/mnt/disc0_2
mount -o sync,noatime,rw /tmp/mnt/disc0_2 /opt

при выключении внешнего hdd и последующем включением mount выдаёт следующее:

/dev/discs/disc0/part2 on /opt type ext3 (rw,noatime)
/dev/discs/disc1/part1 on /tmp/mnt/disc1_1 type ext3 (rw,noatime)
/dev/discs/disc0/part2 on /tmp/mnt/disc0_2 type ext3 (rw,noatime)
/dev/discs/disc0/part2 on /opt type ext3 (rw,noatime)

и так после каждого отключения\включения внешнего hdd добавляется по одной строчке
/dev/discs/disc0/part2 on /opt type ext3 (rw,noatime)

надо ли это исправлять? и если да то как?


и почему порой появляется следующая строчка: ramfs on /opt type ramfs (rw) ???

2. возможно ли в post-mount написать скрипт автоматического запуска некоторых служб (тот же самый торрент) когда монтируется HDD?
Просто использование торрента без внешнего hdd бессмысленно.

надеюсь на вашу помощь! (Новичок в линуксе)

ABATAPA
07-06-2008, 17:10
надо ли это исправлять? и если да то как?

Например, так (у меня все несколько сложнее, это простой вариант):


if [ ! -d /opt/etc ]; then
mount -o sync,noatime,rw /tmp/mnt/disc0_2 /opt
fi


И монтирование будет происходить лишь раз.




2. возможно ли в post-mount написать скрипт автоматического запуска некоторых служб (тот же самый торрент) когда монтируется HDD?


Почему нет?
Код:


for i in /opt/etc/rc.d/S*
do
# Check if the script is there.
[ ! -x "$i" ] && continue

# Don't run *.rpm* and *~ scripts
[ "${i%.rpm*}" = "$i" -a "${i%\~}" = "$i" ] || continue
"$i" start
done


Будет запускать все скрипты, имя которых начинается на "S" (от Start), и для которых установлен бит 'x' ("выполнение"), из каталога /opt/etc/rc.d/.
В этот каталог нужные стартовые скрипты можно или копировать, или создавать в нем ссылки на нужные скрипты, которые размщены в другом месте (у меня в /opt/etc/init.d/)

ncat
07-06-2008, 17:40
огромное спасибо. 1-е работает. насчёт второго буду разбираться

ABATAPA
07-06-2008, 18:30
огромное спасибо. 1-е работает. насчёт второго буду разбираться

Да, и ОЧЕНЬ не рекомендую 'sync' - и так медленный USB.

djet
07-06-2008, 20:44
2. возможно ли в post-mount написать скрипт автоматического запуска некоторых служб (тот же самый торрент) когда монтируется HDD?

Шаблон скриптов инициализации init.d - AsusForum.NET -- WL500g (http://wl500g.info/showthread.php?t=13220&highlight=rc.func)

ipkiller
07-02-2009, 16:46
а кто сможет подсказать почему в них информация не сохраняется :)
2 мес назад прописал в post-mount там все ок
сейчас прописываю в post-boot post-firewall
сохраняю, проверю все ОК
перегружаю..
моих изменений нет :(

Power
07-02-2009, 17:49
а кто сможет подсказать почему в них информация не сохраняется :)
2 мес назад прописал в post-mount там все ок
сейчас прописываю в post-boot post-firewall
сохраняю, проверю все ОК
перегружаю..
моих изменений нет :(

А во flashfs вы сохранить не забываете?

ipkiller
07-02-2009, 18:20
А во flashfs вы сохранить не забываете?

Действительно, про сохранить я даже ине вспомнил.... :)
Спасибо большое..

StaREViL
07-02-2009, 18:54
А во flashfs вы сохранить не забываете?

А вот тут какая то фигня у меня творится.=(
[admin@WL500 sbin]$ ls -la
drwxr-xr-x 1 admin root 0 Jan 28 12:58 .
drwxr-xr-x 1 admin root 0 Jan 1 2000 ..
-rwxr-xr-x 1 admin root 0 Feb 3 19:48 post-boot
-rwxr-xr-x 1 admin root 0 Feb 3 19:47 post-firewall
-rwxr-xr-x 1 admin root 1386 Feb 6 18:38 post-mount

[admin@WL500 sbin]$ cat post-mount
#!/bin/sh
swapon /dev/scsi/host1/bus0/target0/lun0/part1
mount -obind /tmp/mnt/disc0_1/opt/ /opt
/opt/bin/sendsms/send.php 'Router is started'
iptables -I INPUT -p tcp --dport 21 -j ACCEPT
iptables -I INPUT -p tcp --dport 23 -j ACCEPT


НО, после ребута post-mount не исполняется.
send.php Работает точно, но сообщений нет.
Так же и с iptables

Сохраняюсь как обычно.

[admin@WL500 sbin]$ flashfssave
-sh: flashfssave: not found
[admin@WL500 sbin]$ flashfs save
tar: Removing leading '/' from member names
tmp/local/
tmp/local/etc/
tmp/local/etc/dropbear/
tmp/local/etc/dropbear/dropbear_rsa_host_key
tmp/local/etc/dropbear/dropbear_dss_host_key
tmp/local/sbin/
tmp/local/sbin/post-mount
tmp/local/sbin/post-firewall
tmp/local/sbin/post-boot
tmp/local/root/
tmp/local/root/pub
tmp/local/root/.profile
-rw-r--r-- 1 admin root 1868 Feb 7 21:46 /tmp/flash.tar.gz
Check saved image and type "/sbin/flashfs commit" to commit changes
[admin@WL500 sbin]$ flashfs commit
.
Committed.
[admin@WL500 sbin]$ flashfs enable
[admin@WL500 sbin]$

Прошивка 10-ая на 9 такого небыло. Куда копать?

Power
08-02-2009, 01:41
НО, после ребута post-mount не исполняется.


А у вас хоть что-то монтируется? В логе записи есть? post-mount не при загрузке, а при монтировании должен выполняться.

StaREViL
08-02-2009, 14:26
А у вас хоть что-то монтируется? В логе записи есть? post-mount не при загрузке, а при монтировании должен выполняться.

Да, монтирование происходит само. В пост-маунт специально не указывал куда и что монтировать. Монтируется flash usb и hdd, отформатированы они в ext3

В том-то и дело что в syslog ошибок нет, либо не нашел.

Лог в аттаче, сообщения Jan 1 03:00:22 kernel: Adding Swap: 128480k swap-space (priority -1) видимо происходит после ручного запуска пост-маунта.


"при монтировании должен выполняться" по поводу этих слов=)...может я еще не особо понял назначения пост-маунта?

Может в нем нужно четко указать куда монтировать внешние устройства, тогда он будет выполняться?? С другой стороны, в данный момент в пост-маунт не указано что и куда монтировать, но при ручном запуске этого файла, все что описано в нем, исполняется.
Куда копать?

StaREViL
08-02-2009, 20:13
Проблема следующего характера: не выполняются файлы post-l.

Права executable есть.
[admin@WL500 sbin]$ ls -la
drwxr-xr-x 1 admin root 0 Jan 28 12:58 .
drwxr-xr-x 1 admin root 0 Jan 1 2000 ..
-rwxr-xr-x 1 admin root 0 Feb 3 19:48 post-boot
-rwxr-xr-x 1 admin root 0 Feb 3 19:47 post-firewall
-rwxr-xr-x 1 admin root 1386 Feb 6 18:38 post-mount

В каждом скрипте добавлен путь к интерпретатору sh:
[admin@WL500 sbin]$ cat post-mount
#!/bin/sh
swapon /dev/scsi/host1/bus0/target0/lun0/part1
mount -obind /tmp/mnt/disc0_1/opt/ /opt
/opt/bin/sendsms/send.php 'Router is started'
iptables -I INPUT -p tcp --dport 21 -j ACCEPT
iptables -I INPUT -p tcp --dport 23 -j ACCEPT


НО, после ребута post-mount не исполняется.
send.php Работает точно, но сообщений нет.
Так же и с iptables

Сохраняюсь как обычно.


[admin@WL500 sbin]$ flashfs save
tar: Removing leading '/' from member names
tmp/local/
tmp/local/etc/
tmp/local/etc/dropbear/
tmp/local/etc/dropbear/dropbear_rsa_host_key
tmp/local/etc/dropbear/dropbear_dss_host_key
tmp/local/sbin/
tmp/local/sbin/post-mount
tmp/local/sbin/post-firewall
tmp/local/sbin/post-boot
tmp/local/root/
tmp/local/root/pub
tmp/local/root/.profile
-rw-r--r-- 1 admin root 1868 Feb 7 21:46 /tmp/flash.tar.gz
Check saved image and type "/sbin/flashfs commit" to commit changes
[admin@WL500 sbin]$ flashfs commit
.
Committed.
[admin@WL500 sbin]$ flashfs enable
[admin@WL500 sbin]$

В /tmp/flash.tar.gz есть все файлы post-. Редактировал файлы в vi, лишнего там ничего нет.
Прошивка 10-ая на 9 такого не было. Куда копать?

В логе ошибок нет, либо не нашел. Аттач. Часть сислога удалил, так как там после свопа начинаются дискавери и офер.=)

Power
08-02-2009, 21:21
"при монтировании должен выполняться" по поводу этих слов=)...может я еще не особо понял назначения пост-маунта?


По идее, post-mount выполняется автоматически после (опять же, автоматического) монтирования чего-либо.
Возможно, у вас проблема с путями, хотя вряд ли.
Добавьте следущую строчку в начало post-mount, сразу после #!/bin/sh


/usr/bin/logger "running post-mount"

И после загрузки (подождите некоторое время) ищите эту строчку в логе; если есть - значит файл выполняется и проблема в командах внутри него.

EugeenB
08-02-2009, 21:38
Проблема следующего характера: не выполняются файлы post-l.
А ч его Вы взяли, что они не выполняются? По каким признакам судите?
Что в iptables нет разрешающих строчек? - Так и не будет: после каждого переконекта на wan или ppp таблица iptables строиться с нуля, и что-либо прописать туда можно лишь в скрипте post-firewall.
Для начала, убедитесь в том, что ваш скрипт действительно запускается, добавив второй строчкой (после #!/bin/sh):
/usr/bin/logger -t имя_скрипта "Собщение... типа Script is run."

theMIROn
08-02-2009, 21:48
Добавьте следущую строчку в начало post-mount, сразу после #!/bin/sh


/usr/bin/logger "running post-mount"

лучше добавить во все post/pre скрипты строчку

/usr/bin/logger -t $(basename $0) "started [$@]"в логе будет видно и имя скрипта и его параметры, примерно так:

Jan 1 05:00:23 post-firewall: started [ppp0 0.0.0.0 br0 192.168.1.1 vlan1 10.132.8.118]
Jan 1 05:00:23 post-mount: started [1005/b113/100]

theMIROn
08-02-2009, 21:48
лучше добавить во все post/pre скрипты строчку

/usr/bin/logger -t $(basename $0) "started [$@]"в логе будет видно и имя скрипта и его параметры, примерно так:

Jan 1 05:00:23 post-firewall: started [ppp0 0.0.0.0 br0 192.168.1.1 vlan1 10.132.8.118]
Jan 1 05:00:23 post-mount: started [1005/b113/100]

StaREViL
09-02-2009, 14:55
лучше добавить во все post/pre скрипты строчку

/usr/bin/logger -t $(basename $0) "started [$@]"в логе будет видно и имя скрипта и его параметры, примерно так:

logger добавил. С сислоге появились надписи что все стартует. Спасибо.
Буду дальше тогда разбираться, почему не все запускается...

psih0
19-02-2009, 05:48
Здравствуйте всем!
Честно воспользовавшись поиском ответа не нашел. если пропустил - не бейте. :)

у меня такая проблема. Ниже я приведу лог телнет-сесси установленной сразу после загрузки роутера. объясните мне странное поведение команды export TERM=... ?

[admin@asus root]$ export

export HOME='/usr/local/root'
export LOGNAME='admin'
export PATH='/opt/sbin:/opt/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bi
n:/sbin:/bin'
export PS1='[\u@\h \W]$ '
export PWD='/tmp/local/root'
export SHELL='/bin/sh'
export TERM='linux'
export USER='admin'

[admin@asus root]$ cat /usr/local/sbin/post-boot

#!/bin/sh
export TERMINFO="/opt/share/terminfo"
export TERM="xterm"

[admin@asus root]$ ls -l /usr/local/sbin/post-boot

-rwxr-xr-x 1 admin root 68 Feb 19 00:32 /usr/local/sbin/post-boot

[admin@asus root]$ /usr/local/sbin/post-boot

[admin@asus root]$ export

export HOME='/usr/local/root'
export LOGNAME='admin'
export PATH='/opt/sbin:/opt/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bi
n:/sbin:/bin'
export PS1='[\u@\h \W]$ '
export PWD='/tmp/local/root'
export SHELL='/bin/sh'
export TERM='linux'
export USER='admin'

[admin@asus root]$ export TERM="xterm"

[admin@asus root]$ export

export HOME='/usr/local/root'
export LOGNAME='admin'
export PATH='/opt/sbin:/opt/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bi
n:/sbin:/bin'
export PS1='[\u@\h \W]$ '
export PWD='/tmp/local/root'
export SHELL='/bin/sh'
export TERM='xterm'
export USER='admin'

[admin@asus root]$

al37919
19-02-2009, 06:25
у каждого процесса sh свой environment.
Если хотите, чтобы переменные были заданы в интерактивном шеле, добавляйте export-ы в ~/.profile

psih0
19-02-2009, 06:40
зачем тогда во всех FAQ написано, что сделайте post-boot такого вида, дабы правильно работали клавиши midnight commander'a?


у каждого процесса sh свой environment.
Если хотите, чтобы переменные были заданы в интерактивном шеле, добавляйте export-ы в ~/.profile

al37919
19-02-2009, 06:45
не во всех: http://wl500g.info/showpost.php?p=60932&postcount=3
и вообще, тьюториал от wengi на данный момент самый up to date.

psih0
19-02-2009, 07:12
ок. спасибо. :) я как раз искал как сохранить алиас для mc цветного. :) я еще только учусь. ;)


не во всех: http://wl500g.info/showpost.php?p=60932&postcount=3
и вообще, тьюториал от wengi на данный момент самый up to date.

Zein
06-06-2009, 08:32
Ковырял конфиги, доковырялся :(
Каталог \etc\opt\init.d и, естественно, все его содержимое, недоступно. А там много чего нужного лежит.
Имя каталога красное и с вопросительным знаком
Выглядит это так:
http://lh5.ggpht.com/_QILbRoSQxYQ/SioZrYVhuzI/AAAAAAAAABI/UxyjUdkYj3I/15.JPG

Где копать?

Zein
07-06-2009, 09:00
памажите!!!
:)

Power
07-06-2009, 20:36
Видимо, ваш /opt/etc/init.d - это символическая ссылка, и она побилась. Покажите, что говорит


ls -l /opt/etc/init.d

Zein
08-06-2009, 10:09
Видимо, ваш /opt/etc/init.d - это символическая ссылка, и она побилась. Покажите, что говорит


ls -l /opt/etc/init.d


Спасибо за совет, но уже победил проблему методом авторизованных автосервисов :). Развернул резервный образ на флешку :)

Paranoy
05-08-2009, 01:59
Делал как http://wl500g.info/showthread.php?t=18096 указано


mkdir -p /usr/local/sbin
vi /usr/local/sbin/post-firewall
#!/bin/sh
iptables -t nat -nvL POSTROUTING | grep MASQUERADE | awk '{
"ifconfig "$7" | grep Mask" | getline ip;
split(ip,ip,":"); split(ip[2],ip," ");
split($8,src,"!");
if (src[1]=="") {src="! -s "src[2]} else {src="-s "src[1]};
if ($9=="0.0.0.0/0") {dst=""} else {dst="-d "$9};
system("iptables -t nat -A POSTROUTING -o "$7" "src" "dst" -j SNAT --to-source "ip[1]);
system("iptables -t nat -D POSTROUTING -o "$7" "src" "dst" -j MASQUERADE");
}'
.... итд
при проверке

iptables -t nat -nvL POSTROUTING под target было SNAT. Все было хорошо, только понадобилось мне добавить локальных маршрутов. Сделал так
vi /usr/local/sbin/post-firewall
потом добавил
#!/bin/sh
/sbin/route add -net 00000000 netmask 00000000 gw 10.0.32.1
/sbin/route add -net 00000000 mask 000000000 gw 10.0.32.1 Теперь нету SNAT и нету роутинга (( делал все по инструкции, ни шагу всторону. Уважаемые форумчане и гуру подскажите где я ошибся и как оно все должно выглядеть. Сейчас выглядит вот так :

[admin@WL-001BFCD464F8 root]$ cat /usr/local/sbin/post-firewall
ptables -t nat -nvL POSTROUTING | grep MASQUERADE | awk '{
"ifconfig "$7" | grep Mask" | getline ip;
split(ip,ip,":"); split(ip[2],ip," ");
split($8,src,"!");
if (src[1]=="") {src="! -s "src[2]} else {src="-s "src[1]};
if ($9=="0.0.0.0/0") {dst=""} else {dst="-d "$9};
system("iptables -t nat -A POSTROUTING -o "$7" "src" "ds t" -j SNAT --to-source "ip[1]);
system("iptables -t nat -D POSTROUTING -o "$7" "src" "dst" -j MASQUERADE");
}'
#!/bin/sh
/sbin/route add -net 10.0.0.0 netmask 255.0.0.0 gw 172.23.176.253
/sbin/route add -net 78.107.23.0 mask 255.255.255.0 gw 172.23.176.253
/sbin/route add -net 79.104.0.0 netmask 255.255.0.0 gw 172.23.176.253
/sbin/route add -net 79.104.196.131 netmask 255.255.0.0 gw 172.23.176.253
/sbin/route add -net 83.102.0.0 netmask 255.255.0.0 gw 172.23.176.253
/sbin/route add -net 83.222.7.0 netmask 255.255.0.0 gw 172.23.176.253
/sbin/route add -net 85.21.79.0 netmask 255.255.0.0 gw 172.23.176.253
/sbin/route add -net 85.21.90.0 netmask 255.255.0.0 gw 172.23.176.253
/sbin/route add -net 85.21.52.0 netmask 255.255.0.0 gw 172.23.176.253
/sbin/route add -net 85.21.72.0 netmask 255.255.0.0 gw 172.23.176.253
/sbin/route add -net 85.21.138.0 netmask 255.255.0.0 gw 172.23.176.253
/sbin/route add -net 89.179.0.0 netmask 255.255.0.0 gw 172.23.176.253
/sbin/route add -net 95.30.0.0 netmask 255.255.0.0 gw 172.23.176.253
/sbin/route add -net 192.168.0.0 netmask 255.255.0.0 gw 172.23.176.253
/sbin/route add -net 194.67.1.0 netmask 255.255.0.0 gw 172.23.176.253
/sbin/route add -net 194.186.0.0 netmask 255.255.0.0 gw 172.23.176.253
/sbin/route add -net 194.67.18.0 netmask 255.255.0.0 gw 172.23.176.253
/sbin/route add -net 195.14.0.0 netmask 255.255.0.0 gw 172.23.176.253
route -n

[admin@WL-001BFCD464F8 root]$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
212.119.219.108 10.27.0.1 255.255.255.255 UGH 1 0 0 vlan1
212.119.219.107 10.27.0.1 255.255.255.255 UGH 1 0 0 vlan1
172.23.176.8 10.27.0.1 255.255.255.255 UGH 1 0 0 vlan1
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 br0
10.27.0.0 0.0.0.0 255.255.252.0 U 0 0 0 vlan1
10.0.0.0 10.27.0.1 255.0.0.0 UG 0 0 0 vlan1
127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo
0.0.0.0 172.23.176.253 0.0.0.0 UG 0 0 0 ppp0
0.0.0.0 10.27.0.1 0.0.0.0 UG 1 0 0 vlan1


А под таргетом теперь MASQUERADE. Объясните как сделать правильно чтоб маршрутизация на лок IP была и PPTP работала шустро. Заранее спасибо.

Mashiro-sama
05-08-2009, 05:14
#!/bin/sh должно быть в самом начале файла, первой строкой.

Paranoy
05-08-2009, 09:09
#!/bin/sh должно быть в самом начале файла, первой строкой.

Я правильно понял:


#!/bin/sh
iptables -t nat -nvL POSTROUTING | grep MASQUERADE | awk '{
"ifconfig "$7" | grep Mask" | getline ip;
split(ip,ip,":"); split(ip[2],ip," ");
split($8,src,"!");
if (src[1]=="") {src="! -s "src[2]} else {src="-s "src[1]};
if ($9=="0.0.0.0/0") {dst=""} else {dst="-d "$9};
system("iptables -t nat -A POSTROUTING -o "$7" "src" "ds t" -j SNAT --to-source "ip[1]);
system("iptables -t nat -D POSTROUTING -o "$7" "src" "dst" -j MASQUERADE");
}'

/sbin/route add -net 10.0.0.0 netmask 255.0.0.0 gw 172.23.176.253
/sbin/route add -net 78.107.23.0 mask 255.255.255.0 gw 172.23.176.253
/sbin/route add -net 79.104.0.0 netmask 255.255.0.0 gw 172.23.176.253
.....
Примерно так????

Paranoy
05-08-2009, 09:43
#!/bin/sh сделал вначале

#!/bin/sh
iptables -t nat -nvL POSTROUTING | grep MASQUERADE | awk '{
"ifconfig "$7" | grep Mask" | getline ip;
split(ip,ip,":"); split(ip[2],ip," ");
split($8,src,"!");
if (src[1]=="") {src="! -s "src[2]} else {src="-s "src[1]};
if ($9=="0.0.0.0/0") {dst=""} else {dst="-d "$9};
system("iptables -t nat -A POSTROUTING -o "$7" "src" "dst" -j SNAT --to-source "ip[1]);
system("iptables -t nat -D POSTROUTING -o "$7" "src" "dst" -j MASQUERADE");
}'
/sbin/route add -net 10.0.0.0 netmask 255.0.0.0 gw 172.23.176.253
/sbin/route add -net 78.107.23.0 mask 255.255.255.0 gw 172.23.176.253
/sbin/route add -net 79.104.0.0 netmask 255.255.0.0 gw 172.23.176.253
/sbin/route add -net 79.104.196.131 netmask 255.255.0.0 gw 172.23.176.253
/sbin/route add -net 83.102.0.0 netmask 255.255.0.0 gw 172.23.176.253
/sbin/route add -net 83.222.7.0 netmask 255.255.0.0 gw 172.23.176.253
/sbin/route add -net 85.21.79.0 netmask 255.255.0.0 gw 172.23.176.253
/sbin/route add -net 85.21.90.0 netmask 255.255.0.0 gw 172.23.176.253
/sbin/route add -net 85.21.52.0 netmask 255.255.0.0 gw 172.23.176.253
/sbin/route add -net 85.21.72.0 netmask 255.255.0.0 gw 172.23.176.253
/sbin/route add -net 85.21.138.0 netmask 255.255.0.0 gw 172.23.176.253
/sbin/route add -net 89.179.0.0 netmask 255.255.0.0 gw 172.23.176.253
/sbin/route add -net 95.30.0.0 netmask 255.255.0.0 gw 172.23.176.253
/sbin/route add -net 192.168.0.0 netmask 255.255.0.0 gw 172.23.176.253
/sbin/route add -net 194.67.1.0 netmask 255.255.0.0 gw 172.23.176.253
/sbin/route add -net 194.186.0.0 netmask 255.255.0.0 gw 172.23.176.253
/sbin/route add -net 194.67.18.0 netmask 255.255.0.0 gw 172.23.176.253
/sbin/route add -net 195.14.0.0 netmask 255.255.0.0 gw 172.23.176.253

Под target теперь SNAT. Но при route -n


Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
212.119.219.108 10.27.0.1 255.255.255.255 UGH 1 0 0 vlan1
212.119.219.107 10.27.0.1 255.255.255.255 UGH 1 0 0 vlan1
172.23.176.8 10.27.0.1 255.255.255.255 UGH 1 0 0 vlan1
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 br0
10.27.0.0 0.0.0.0 255.255.252.0 U 0 0 0 vlan1
10.0.0.0 10.27.0.1 255.0.0.0 UG 0 0 0 vlan1
127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo
0.0.0.0 172.23.176.253 0.0.0.0 UG 0 0 0 ppp0
0.0.0.0 10.27.0.1 0.0.0.0 UG 1 0 0 vlan1


Что я сного сделал не правильно? Маршрутизация тоже должна прописаться :o
Версия прошивки 1.9.2.7-10.7.

6opoga
05-08-2009, 12:25
Запусти его ручками и посмотри на что ругается.

Paranoy
05-08-2009, 19:01
Запусти его ручками и посмотри на что ругается.

Ммм если бы знал. Скажите как его запустить. nix только начинаю осваивать.

SpiderX
05-08-2009, 19:03
Скажите как его запустить. nix только начинаю осваивать.
cd /usr/local/sbin/post-firewall
./post-firewall
ну или просто /usr/local/sbin/post-firewall :)

Paranoy
05-08-2009, 19:08
route: SIOC[ADD|DEL]RT: Network is unreachable
BusyBox v1.1.3 (2009.02.22-14:37+0000) multi-call binary

Usage: route [{add|del|delete}]

route: SIOC[ADD|DEL]RT: Network is unreachable
route: netmask and route address conflict
route: SIOC[ADD|DEL]RT: Network is unreachable
route: netmask and route address conflict
route: netmask and route address conflict
route: netmask and route address conflict
route: netmask and route address conflict
route: netmask and route address conflict
route: netmask and route address conflict
route: SIOC[ADD|DEL]RT: Network is unreachable
route: SIOC[ADD|DEL]RT: Network is unreachable
route: SIOC[ADD|DEL]RT: Network is unreachable
route: netmask and route address conflict
route: SIOC[ADD|DEL]RT: Network is unreachable
route: netmask and route address conflict
route: SIOC[ADD|DEL]RT: Network is unreachable


Вот что показывает. что это значит?

Paranoy
05-08-2009, 19:16
ага надо со включенным кабелем попробовать

SpiderX
05-08-2009, 19:18
Значит что вот этого 172.23.176.253 найти не может.


/sbin/route add -net 78.107.23.0 mask 255.255.255.0 gw 172.23.176.253

/sbin/route add -net 78.107.23.0 netmask 255.255.255.0 gw 172.23.176.253

Paranoy
05-08-2009, 19:19
тоже самое

Очень странно 172.23.176.253, и в ройтере он сейчас есть и через сетевуху смотрел.

SpiderX
05-08-2009, 19:24
С провайдером созвонились?

iptables -t nat -nvL POSTROUTING | grep MASQUERADE три строки как в мануале (http://wl500g.info/showthread.php?t=18096) показывает?

Если да, то берите и по одному маршруту выполняйте за раз.

Paranoy
05-08-2009, 20:23
С провом? звонил сказали локальные IP это вобще не их забота и как и я прописывать буду они тоже незнают (пчелайн). Да по мануалу делал, 3 строки есть.
Вот по 1

[******@WL-001BFCD464F8 root]$ route add -net 10.0.0.0 netmask 255.0.0.0 gw 172.23.176.253
route: SIOC[ADD|DEL]RT: Network is unreachable

Тож самое что и при выполнении файлика целиком

Paranoy
05-08-2009, 20:41
Спасибо за советы.
В роутере посмотрел дефолтный еще 10.27.0.1
Подумал, а ведь если БЕЗ VPN соединения и на сетевухе оно тоже есть. Заменил, обновил. Заработало!!!.

alting
28-03-2010, 22:59
Доброго времени суток всем!
После прошивки на 1.9.2.7-d-r1222.trx при загрузке перестали выполняться все post-* скрипты (которые лежат в /tmp/local/sbin), а именно:
post-boot*
post-firewall*
post-mount*
и так далее..
У кого подобный глюк был? Как лечили?

Power
29-03-2010, 01:16
После перепрошивки flashfs enable не забыли?

alting
29-03-2010, 14:06
После перепрошивки flashfs enable не забыли?

flashfs save
flashfs commit
flashfs enable

все это у меня уже на автомате, после любых изменений делаю.

al37919
29-03-2010, 15:45
бездумные действия не всегда приводят к положительному результату.

Если после перепрошивки flashfs не была загружена, то выполнив последовательность из этих трех комманд вы очистили ее содержимое, сохранив пустую flashfs.

С какой версии осуществлялась перепрошивка?

alting
29-03-2010, 15:51
бездумные действия не всегда приводят к положительному результату.

Если после перепрошивки flashfs не была загружена, то выполнив последовательность из этих трех комманд вы очистили ее содержимое, сохранив пустую flashfs.

С какой версии осуществлялась перепрошивка?

С предыдущей. Если, правильно ошибаюсь 1087.
Правда, сразу не прошилась - зависло все намертво.
Возвращал "к жизни" через Asus Recovery

CattheBlack
20-09-2010, 08:38
Прошу прощения за странный вопрос, но яндекс-гугол не дал ответа :(
Как разрешить определенной группе адресов (192.168.112.0/24) пользоваться windows update?
Не получается по днс-именам, айпишники не нашел. Плоховато разбираюсь в вопросе...
Спасибо большое, если не оставите в беде! ;)

dfayruzov
20-09-2010, 18:00
Уточните вопрос.
Для работы windows update необходимо разрешить только http и https, так как для передачи данных используется Background Intelligent Transfer Service (http://en.wikipedia.org/wiki/Background_Intelligent_Transfer_Service).

Разрешен ли доступ в интернет для этой подсети? Нужно запретить интернет, но оставить доступ к windows update?

CattheBlack
21-09-2010, 05:05
Сожалею о неточности формулировок. На работе писал, торописля. ;)
Есть две подсети - 192.168.111.0/24 - с выходом в инет (FORWARD на всех) и 192.168.112.0/24 - у них только локалка.
Как разрешить 112-м обновлять винду, но чтобы в инет они не могли полноценно выйти? Айпишники я не нашёл микрософтовые (может, плохо искал...). Можно ли как-то использовать имена вроде http://*.update.microsoft.com/? Или IP-адреса нужные где-нибудь найти?

dfayruzov
21-09-2010, 18:27
А не проще на одном из компов с интернетом поднять WSUS?
Я в свое время его даже на XP ставил. )

CattheBlack
21-09-2010, 19:55
А не проще на одном из компов с интернетом поднять WSUS?
Я в свое время его даже на XP ставил. )

А он ставится не на серверную ось? Тогда это решает все проблемы!
Спасибо большое!

CattheBlack
22-09-2010, 05:09
Не ставится он на Windows 7. Может, кто знает, как разрешить только обновления?

vectorm
22-09-2010, 07:19
Не ставится он на Windows 7. Может, кто знает, как разрешить только обновления?
Все ставится (http://www.microsoft.com/downloads/en/details.aspx?FamilyID=A206AE20-2695-436C-9578-3403A7D46E40).

phobos
22-09-2010, 07:48
Я в написаниях правил для Iptables не силен, но ты можешь воспользоваться альтернативным сервером обнорвновления корбина-билайн, вот как резолвится адрес http://sus.corbina.net/
Non-authoritative answer:
Name: sus.corbina.net
Address: 85.21.79.201
Я сам пользуюсь им.
Успехов!

CattheBlack
22-09-2010, 16:35
Все ставится (http://www.microsoft.com/downloads/en/details.aspx?FamilyID=A206AE20-2695-436C-9578-3403A7D46E40).

Только что запустил WSUS30-KB972455-x64.exe, он сказал, что хочет 2003-й или 2008-й сервер...

За корбиновую идею спасибо! попробую. Если оно не из корбиновой локалки работает...

phobos
22-09-2010, 17:48
За корбиновую идею спасибо! попробую. Если оно не из корбиновой локалки работает...
Ты же видишь, что IP-шник реальный, а не локальный. У меня все версии винды с него обновления качают, причем там нет обновлений, которые сбивают кряку :D

DarkTwin
02-02-2012, 05:41
Господа подскажите где в прошивке от энтузиастов для сего девайса лежит (или должны лежать) post-boot и иже с ним ?
создал в /usr/local/sbin/post-boot но результата нету, а значит я ошибся.

Pablo Escobar
18-02-2012, 18:09
граждане, а где у него post-boot, post-firewall, etc.?
а то в iptables надо пробросы сделать.

вопрос снимаю. (/usr/local/sbin/post-firewall)

коллеги, а может быть так, что post-firewall от wl500 не отрабатывает на rt-16n?
Хоть убей, а не идет проброс. Вдруг что править надо?

KEKC
24-03-2012, 15:11
Подскажите плз очередность загрузки скриптов post-boot и post-firewall.
И с каким именем создать скрипт, чтоб он загружался в самую последнюю очередь (после post-boot и post-firewall) ?

tempik
24-03-2012, 20:37
Подскажите плз очередность загрузки скриптов post-boot и post-firewall.
И с каким именем создать скрипт, чтоб он загружался в самую последнюю очередь (после post-boot и post-firewall) ?
А для кого ФАКи (http://wl500g.info/showthread.php?t=2391) пишут??? 12 пост...

Supermaks
24-04-2012, 14:48
ДОбрый день!

Имеется DIR-320 перешитый в модифицированную прошивку от vampik.
Сделал по инструкциям:
echo "#!/bin/sh" >> /usr/local/sbin/post-boot
echo "#!/bin/sh" >> /usr/local/sbin/post-firewall
chmod +x /usr/local/sbin/post-*

Настраиваю второй WAN-порт (ну обычная задача)
Делаю все обычные nvram set и прочее из инструкции вплоть до nvram commit

В post-boot добавлено:
ifconfig vlan2 10.236.14.15 broadcast 10.236.15.255 netmask 255.255.248.0 up

В post-firewall - несколько route add вида
route add -net 10.0.0.0 netmask 255.0.0.0 gw 10.236.8.1
route add -host XXX.XXX.XXX.XXX gw 10.236.8.1


После перезагрузки вижу что vlan2 появляется(post-boot работает), а команда route показывается только дефолтные маршруты. Если перейти в /usr/local/sbin и запустить post-firewall вручную то скрипт явно выполняется и через команду route я вижу то что должно было добавиться через post-firewall.

Вопрос: почему может не запускаться post-firewall после ребута?


Update: продолжение исследования показало что post-firewall все таки запускается, и там выполняются различные другие команды типа iptables, но не выполняются именно команды route add.

zloy1
13-07-2012, 08:12
Записал на DIR-320 файл /usr/local/sbin/post-firewall
Вот его содержимое:

#!/bin/sh
# limits TCP conections by 60 for mac address
#
insmod xt_connlimit
iptables -I FORWARD -p tcp -m connlimit --connlimit-above 60 -m mac --mac-source 00:19:67:cd:68:d1 -j REJECT

Вот фрагмент вывода iptables-save

-A FORWARD -p tcp -m connlimit --connlimit-above 60 --connlimit-mask 32 --connlimit-saddr -m mac --mac-source 00:19:67:cd:68:d1 -j REJECT --reject-with icmp-port-unreachable
-A FORWARD -i br0 -o br0 -j ACCEPT
-A FORWARD -m conntrack --ctstate INVALID -j DROP
-A FORWARD -d 224.0.0.0/4 -p udp -j ACCEPT
-A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A FORWARD ! -i br0 -o wan0 -j DROP
-A FORWARD ! -i br0 -m conntrack --ctstate NEW -j SECURITY
-A FORWARD -s 192.168.1.105/32 -i br0 -p tcp -m time --timestart 23:00:00 --timestop 08:00:00 -j DROP
-A FORWARD -i br0 -j ACCEPT
-A FORWARD -m conntrack --ctstate DNAT -j ACCEPT

Хочу понять, имеет ли значение в данном случае что это правило на первом месте, а не на последнем? Если да, то куда его лучше воткнуть вперед или назад?

idShura
14-07-2012, 11:10
WL500gpv2, Прошивка 1.9.2.7-rtn-r4330

Сегодня обновил прошивку через web-интерфейс с 9.2.7-rtn-r2455 на 1.9.2.7-rtn-r4330, сбросил настройки.
И теперь у меня отсутствует /usr/local/sbin/post-firewall
Может быть я неправильно перепрошил раз отсутствует этот файл?

ConstAntz
14-07-2012, 13:05
WL500gpv2, Прошивка 1.9.2.7-rtn-r4330

Сегодня обновил прошивку через web-интерфейс с 9.2.7-rtn-r2455 на 1.9.2.7-rtn-r4330, сбросил настройки.
И теперь у меня отсутствует /usr/local/sbin/post-firewall
Может быть я неправильно перепрошил раз отсутствует этот файл?

Это нормальное явление, связанное со сбросом настроек в дефолт. Восстанавливается из ранее сохраненного flashfs, но лучше - руками.

idShura
14-07-2012, 18:02
Это нормальное явление, связанное со сбросом настроек в дефолт. Восстанавливается из ранее сохраненного flashfs, но лучше - руками.

flashfs я несохранял.
Достаточно будет сделать? (Сейчас пока нет возможности проверить):



echo "#!/bin/sh" >> /usr/local/sbin/post-firewall
chmod +x /usr/local/sbin/post-firewall
правила...
flashfs save && flashfs commit && flashfs enable

MercuryV
15-07-2012, 01:04
Достаточно будет сделать? (Сейчас пока нет возможности проверить):


echo "#!/bin/sh" >> /usr/local/sbin/post-firewall
chmod +x /usr/local/sbin/post-firewall
правила...
flashfs save && flashfs commit && flashfs enable

Ход мыслей верный. Создаете post-firewall заново.
Можно еще опционально добавить в post-firewall строку наподобие

logger 'post-firewall rules applied'
чтобы потом видеть в системном логе, когда скрипт post-firewall отработал

Rossi25
31-07-2012, 12:05
Не смог найти поиском, pre-shutdown почему может не отрабатывать.
Вот:

$ cat /usr/local/sbin/pre-shutdown
#!/bin/sh

date >>"/opt/shutdown_test" 2>&1

/opt/etc/init.d/rc.unslung stop

sleep 10s

for i in `cat /proc/mounts | awk '/ext3/{print($1)}'` ; do
mount -o remount,ro $i
done

swapoff -a

sleep 1s

В результате файл /opt/shutdown_test не заполняется. Означает ли это, что скрипт pre-shutdown не выполняется и почему тогда. Как сделать безопасное отключение дисков?

tempik
31-07-2012, 19:25
Не смог найти поиском, pre-shutdown почему может не отрабатывать.
Вот:

$ cat /usr/local/sbin/pre-shutdown
#!/bin/sh

date >>"/opt/shutdown_test" 2>&1

/opt/etc/init.d/rc.unslung stop

sleep 10s

for i in `cat /proc/mounts | awk '/ext3/{print($1)}'` ; do
mount -o remount,ro $i
done

swapoff -a

sleep 1s

В результате файл /opt/shutdown_test не заполняется. Означает ли это, что скрипт pre-shutdown не выполняется и почему тогда. Как сделать безопасное отключение дисков?
ну для начала проверить что файл исполняемый .... в студию

ls -al /usr/local/sbin/

Rossi25
02-08-2012, 05:55
ну для начала проверить что файл исполняемый .... в студию

ls -al /usr/local/sbin/
Спасибо! Просто делал по инструкции http://vectormm.net/routers/routery-asus/97-nachalnaya-nastrojka-rt-n16.html (или похожая http://www.hub.ru/wiki/Asus_WL-500gP:_%D0%BD%D0%B0%D1%87%D0%B0%D0%BB%D1%8C%D0%BD% D0%B0%D1%8F_%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D 0%B9%D0%BA%D0%B0_%D0%BC%D0%B0%D1%80%D1%88%D1%80%D1 %83%D1%82%D0%B8%D0%B7%D0%B0%D1%82%D0%BE%D1%80%D0%B 0) и там не написано сделать эти файлы исполняемыми. После chmod +x -R /usr/local/sbin/ все заработало!