Archive for the ‘ development ’ Category

Линк 1км dir-320 x2

http://ag-up.com
Эта статья — продолжение предыдущих о том, как соединить 2 точки посредством wifi канала.

В предыдущей статье есть картинки, показывающие 2 точки, где примерное расстояние составляет 1 км в прямой видимости. Конструкцию антенны можно глянуть в предыдущей стать, а также всю техинформацию.

В данной стать опишу как настроить эти 2 точки на dir-320 для организации нужной нам структуры сети.

Итак.

Нам необходимо настроить сетевые интерфейсы в мосте между LAN и WLAN на обоих роутерах, тк мы хотим организовать «локальную» сеть между 2мя точками. Всякие nat и прочие приблуды нам не понадобятся, поэтому wan порт в роутерах dir-320 нам совершенно не понадобится, его в прошивке dd-wrt можно смело отключить.

Ну и соответственно ethernet кабеля будут вставляться в LAN порты точек.

Далее необходимо залогиниться в веб на оба роутера.

На первом. Переходим в раздел wifi.

Тип беспроводной сети -> Точка доступа

Режим беспроводной сети -> Смешанный

Имя беспроводной сети (SSID) -> любое

Галочка — в мосте!

Далее в раздел wifi -> безопасность выставляем необходимые настройки шифрования канала.

На втором. Переходим в раздел wifi.

Все настройки те же, за исключением Тип беспроводной сети -> Репитер-мост.

Теперь в Статус -> Сведения о системе можем наблюдать в таблице РАДИО параметры соединения, а в «Точка доступа & Клиенты» качество и параметры канала.

У меня поднялось на 24 мегабита.

Хочу заметить что, силу сигнала в милливаттах можно увеличить, что даст прирост сигнала, делается в разделе  wifi -> дополнительно -> Мощность передатчика. Не ставьте более 140 — будет очень не стабильно, у меня выставлено на 100.

Пока что все, если еще что еще придумаю — дополню статью!!

Реклама

proftpd: ftpasswd

http://ag-up.com
Скрипт для proftpd, прописывает юзеров для работы по фтп на основе системых в файлы ftpd.passwd ftpd.group
Читать далее

python: bash-completion

http://ag-up.com
bash-complition офигенный пакетик при использовании которого вы сможете с помощью TAB‘а видеть/выбирать опции, которые предоставляет ПО.
В gentoo он ставится так: emerge -q gentoo-bashcomp, в других дистрибутивах ищите сами как.
А вот скрипт который выручит человека и сделает из него обезьяну(т.е. освободит от работы) и подключит bash-completion для всего ПО, которое позволяет это сделать:


#!/usr/bin/python
import os,re
os.system("eselect bashcomp list > /tmp/eselect")
line = open('/tmp/eselect','r').readlines()[-1]
regexp = re.search('[0-9].{2}',line)
for i in xrange(1,int(regexp.group(0))):
    os.system("eselect bashcomp enable --global "+str(i))
print "that's all"

PS: bash-completion является дополнялкой не только для bash-шелла, но и для zsh и др.

где установить keep-alive в linux

http://ag-up.com

#при простое этого времени, будет произведена проверка соединения
/proc/sys/net/ipv4/tcp_keepalive_time
#с каким интервалом делать проверку соединения
/proc/sys/net/ipv4/tcp_keepalive_intvl
#сколько делать попыток перед разрывом соединения
/proc/sys/net/ipv4/tcp_keepalive_probes

Установить нужные значения можно следующими способами:
через procfs:

echo "3" > /proc/sys/net/ipv4/tcp_keepalive_probes

через sysctl:

sysctl -w net.ipv4.tcp_keepalive_probes=3

программно:

 setsockopt( sock, SOL_SOCKET, SO_KEEPALIVE, 1, sizeof(int) );
 setsockopt( sock, SOL_TCP, TCP_KEEPCNT, 20, sizeof(int) );
 setsockopt( sock, SOL_TCP, TCP_KEEPIDLE, 180, sizeof(int) );
 setsockopt( sock, SOL_TCP, TCP_KEEPINTVL, 60, sizeof(int) );

Читать далее

Скрипт для распаковки архивов


#!/bin/bash
if [ -f $1 ] ; then
 case $1 in
  *.tar.bz2) tar xvjf $1 ;;
  *.tar.gz) tar xvzf $1 ;;
  *.bz2) bunzip2 $1 ;;
  *.rar) unrar x $1 ;;
  *.gz) gunzip $1 ;;
  *.tar) tar xvf $1 ;;
  *.tbz2) tar xvjf $1 ;;
  *.tgz) tar xvzf $1 ;;
  *.zip) unzip $1 ;;
  *.Z) uncompress $1 ;;
  *.7z) 7z x $1 ;;
  *) echo "'$1' cannot be extracted via script" ;;
 esac
else
 echo "'$1' is not a valid file"
fi

Быстрая замена текста в файлах

perl -pi -e ‘s/pattern/replace/g’ *.html

Shell: zshrc

1) apt-get install zsh or emerge -q zsh
2) touch > ~/.zshrc

3) nano /etc/zsh/zshrc


PATH="${PATH}:/usr/local/bin:"
export EDITOR=/bin/nano
autoload colors
colors
autoload -U compinit
compinit
setopt autocd
setopt No_Beep
setopt CORRECT_ALL
setopt APPEND_HISTORY
setopt HIST_IGNORE_SPACE
setopt HIST_REDUCE_BLANKS
setopt HIST_IGNORE_ALL_DUPS
HISTFILE=~/.zhistory
SAVEHIST=5000
HISTSIZE=5000
#PS1='[%T]%n@%d# '
autoload -U predict-on
zle -N predict-on
zle -N predict-off
bindkey "^X^Z" predict-on
bindkey "^Z" predict-off
alias game="nocorrect game"
alias ls="ls -FG --color=auto"
alias la="ls -lahFG  --color=auto"
alias grep="grep --color=auto -iRnH"
alias vlc='export XLIB_SKIP_ARGB_VISUALS=1; vlc; unset XLIB_SKIP_ARGB_VISUALS'
alias skype='export XLIB_SKIP_ARGB_VISUALS=1; skype; unset XLIB_SKIP_ARGB_VISUALS'
hosts=('local.kss45.ru' localhost awork ns1 ask)
zstyle ':completion:*:hosts' hosts $hosts
zstyle ':completion:*:(ssh|scp):*' tag-order '! users'
manpath="/usr/share/man:/usr/local/man:/usr/X11R6/man"
export MANPATH
zmodload zsh/complist

if [[ $EUID == 0 ]]
then
PROMPT=$'%{\e[1;31m%}%n@anote %{\e[1;34m%}%~ #%{\e[0m%} ' # user dir %
else
PROMPT=$'%{\e[1;32m%}%n@anote %{\e[1;34m%}%~ $%{\e[0m%} ' # root dir #
fi
RPROMPT=$'%{\e[1;34m%}%T%{\e[0m%}' # right prompt with time

3) vipw
И правите строку с вашим юзером, если быть точнее то меняете ему шелл
Если не понимаете как, то обратитесь к документации по vim

4) Перелогиниваетесь и радуетесь.