ip l s dev eth1 up ip l s dev eth0.1999 up ip l add name br0 type bridge ip l s dev eth1 master br0 ip l s dev eth0.1999 master br0 ip l s dev br0 upThat's all, folks!
пятница, 1 августа 2014 г.
Bridge с помощью iproute2
Всех админов в пределах досягаемости бью по рукам за использование ifconfig/route на linux-серверах. К счастью в новых дистрибутивах эти анахронизмы даже не установлены по умолчанию и народ рано или поздно начнёт переучиваться.
Сегодня попробуем создать бридж с помощью всемогущей утилиты ip из пакета iproute2
вторник, 22 июля 2014 г.
FTP через TELNET
Для академических целей попробуем подключиться к FTP с использованием утилиты telnet.
Для успешного скачивания файла нам потребуется две открытые консоли и калькулятор. Вместо telnet можно использовать nc/netcat. Подключаться будем в пассивном режиме.
Авторизируемся:
Не закрывая первую консоль во второй консоли пишем:
Для успешного скачивания файла нам потребуется две открытые консоли и калькулятор. Вместо telnet можно использовать nc/netcat. Подключаться будем в пассивном режиме.
Авторизируемся:
$ telnet mirror.yandex.ru 21 Trying 213.180.204.183... Connected to mirror.yandex.ru. Escape character is '^]'. 220-Welcome to Yandex Mirror FTP service. Your served by: node01d.mirror.yandex.net 220 USER anonymous 331 Please specify the password. PASS a@b.ru 230 Login successful.Открываем на сервере порт для "пассивного" подключения:
PASV 227 Entering Passive Mode (213,180,204,183,221,153).Здесь мы видим параметры для ВТОРОГО подключения. Первые четыре числа -- это ip-адрес сервера, пятое и шестое -- это порт для подключения. Вычисляется по формуле: первое*256 + второе.
Не закрывая первую консоль во второй консоли пишем:
$ telnet mirror.yandex.ru 56729 Trying 213.180.204.183... Connected to mirror.yandex.ru. Escape character is '^]'.В рамках этого соединения мы можем только получать данные. Вот примерный список FTP-команд:
ABOR - прервать передачу
CWD - сменить директорию
DELE - удалить файл на сервере
LIST - детальный список файлов на сервере
MDTM - узнать время модификации файла
MKD - создать каталог на сервере
NLST - упрощенный список файлов на сервере
PASS - отправить пароль
PASV - перейти в пассивный режим
PORT - заставить сервер подключиться к клиенту на определенный порт (активный режим)
PWD - вывести название текущего каталога
QUIT - окончить соединение
RETR - скачать файл с сервера
RMD - удалить каталог на сервере
RNFR - переименовать из
RNTO - переименовать в
SITE - серверо-специфицеские команды
SIZE - узнать размер файла
STOR - залить файл на сервер
TYPE - установить режим передачи
USER - отправить пользовательский логин
Пользуясь командами (и переподключаясь во второй консоли каждый раз на новый порт, который нам указывает сервер, скачиваем файл.
Первая консоль:LIST 150 Here comes the directory listing. 226 Directory send OK. CWD pub 250 Directory successfully changed. PASV 227 Entering Passive Mode (213,180,204,183,217,235). LIST 150 Here comes the directory listing. 226 Directory send OK. CWD tools 250 Directory successfully changed. PASV 227 Entering Passive Mode (213,180,204,183,230,239). LIST 150 Here comes the directory listing. 226 Directory send OK. CWD crosstool 250 Directory successfully changed. PASV 227 Entering Passive Mode (213,180,204,183,230,34). LIST 150 Here comes the directory listing. 226 Directory send OK. PASV 227 Entering Passive Mode (213,180,204,183,202,255). RETR index.html 150 Opening BINARY mode data connection for index.html (6922 bytes). 226 Transfer complete.Вторая консоль:
$ telnet mirror.yandex.ru 56729 Trying 213.180.204.183... Connected to mirror.yandex.ru. Escape character is '^]'. drwxr-xr-x 17 ftp ftp 4096 Jul 22 03:27 altlinux drwxr-sr-x 20 ftp ftp 4096 Jul 21 10:29 altlinux-beta drwxr-xr-x 7 ftp ftp 4096 Jul 21 10:43 altlinux-nightly drwxr-xr-x 17 ftp ftp 4096 Jul 22 07:38 archlinux drwxr-xr-x 7 ftp ftp 4096 Jul 21 10:56 archserver drwxr-sr-x 6 ftp ftp 4096 Sep 17 2007 asplinux-tigro drwxr-xr-x 4 ftp ftp 4096 Jul 21 10:56 astra drwxr-xr-x 39 ftp ftp 4096 Jul 21 10:35 calculate drwxrwxr-x 38 ftp ftp 4096 Jul 22 05:06 centos drwxr-xr-x 8 ftp ftp 4096 Jul 22 03:53 debian drwxrwsr-x 6 ftp ftp 4096 Jul 22 03:22 debian-backports drwxr-xr-x 5 ftp ftp 4096 Jul 22 02:36 debian-cd drwxrwxr-x 6 ftp ftp 4096 Jul 22 01:04 debian-multimedia drwxrwsr-x 6 ftp ftp 4096 Jul 21 10:34 debian-security drwxr-sr-x 7 ftp ftp 4096 Jul 21 20:40 epel drwxr-xr-x 7 ftp ftp 4096 Jul 22 05:08 fedora drwxrwxr-x 12 ftp ftp 4096 Jul 22 04:21 freebsd drwxr-xr-x 6 ftp ftp 4096 Jul 22 07:32 gentoo-distfiles drwxrwxr-x 169 ftp ftp 4096 Jul 22 07:32 gentoo-portage drwxr-xr-x 10 ftp ftp 12288 Jul 21 10:08 knoppix drwxr-xr-x 3 ftp ftp 4096 Jul 22 02:04 libreoffice drwxr-xr-x 7 ftp ftp 4096 Jul 21 10:32 linuxmint drwxr-xr-x 5 ftp ftp 4096 Jul 22 04:24 macports drwxr-xr-x 6 ftp ftp 4096 Jul 22 07:32 mageia drwxr-xr-x 39 ftp ftp 4096 Jun 30 09:26 mirrors drwxr-xr-x 6 ftp ftp 4096 Mar 11 14:53 mopslinux drwxr-xr-x 8 ftp ftp 4096 Jul 22 07:40 mozilla drwxr-xr-x 48 ftp ftp 4096 Jul 22 02:18 openbsd drwxr-xr-x 5 ftp ftp 4096 Jul 22 05:06 openmandriva drwxr-xr-x 8 ftp ftp 4096 Jul 21 17:33 opensuse drwxr-xr-x 8 ftp ftp 4096 Jul 22 06:07 pub drwxr-xr-x 8 ftp ftp 4096 Jul 21 10:31 puppyrus drwxr-xr-x 10 ftp ftp 4096 Jul 22 05:32 rosa drwxr-xr-x 4 ftp ftp 4096 Jul 21 10:33 runtu drwxrwxr-x 5 ftp ftp 4096 Jul 22 04:32 sabayon drwxr-xr-x 13 ftp ftp 4096 Jul 22 04:32 scientificlinux drwxr-xr-x 6 ftp ftp 4096 Apr 02 17:53 simplelinux drwxr-xr-x 42 ftp ftp 4096 Jul 22 00:34 slackware drwxr-xr-x 6 ftp ftp 4096 Jul 22 02:09 ubuntu drwxr-xr-x 30 ftp ftp 4096 Jul 22 04:16 ubuntu-cdimage drwxr-xr-x 12 ftp ftp 4096 Jul 22 06:16 ubuntu-releases Connection closed by foreign host. $ telnet mirror.yandex.ru 55787 Trying 213.180.204.183... Connected to mirror.yandex.ru. Escape character is '^]'. lrwxrwxrwx 1 ftp ftp 11 Feb 17 2013 FreeBSD -> ../freebsd/ lrwxrwxrwx 1 ftp ftp 11 Feb 17 2013 OpenBSD -> ../openbsd/ drwxr-xr-x 13 ftp ftp 4096 Nov 16 2011 linux drwxrwxr-x 3 ftp ftp 4096 Sep 23 2008 media drwxr-xr-x 15 ftp ftp 4096 Aug 03 2013 scm drwxrwxr-x 2 ftp ftp 4096 Aug 09 2013 site drwxr-xr-x 13 ftp ftp 4096 Nov 27 2011 software drwxr-xr-x 3 ftp ftp 4096 Apr 30 2008 tools Connection closed by foreign host. $ telnet mirror.yandex.ru 59119 Trying 213.180.204.183... Connected to mirror.yandex.ru. Escape character is '^]'. drwxrwxr-x 3 ftp ftp 4096 May 22 2013 crosstool Connection closed by foreign host. $ telnet mirror.yandex.ru 58914 Trying 213.180.204.183... Connected to mirror.yandex.ru. Escape character is '^]'. drwxrwxr-x 5 ftp ftp 4096 Mar 28 2012 files -rw-rw-r-- 1 ftp ftp 6922 May 22 2013 index.html -rw-rw-r-- 1 ftp ftp 543 May 22 2013 index.html.sign -rw-r--r-- 1 ftp ftp 962 Apr 02 07:57 sha256sums.asc Connection closed by foreign host. $ telnet mirror.yandex.ru 51967 Trying 213.180.204.183... Connected to mirror.yandex.ru. Escape character is '^]'. [тут вырезано содержимое получаемого файла] Connection closed by foreign host.
четверг, 5 июня 2014 г.
Сервер vsftpd с аутентификацией через radius
Настройка сервера VSFTPD с аутентификацией через Radius в Debian:
# aptitude install vsftpd libpam-radius-auth
# cat /etc/pam.d/vsftpd # Standard behaviour for ftpd(8). auth sufficient pam_radius_auth.so client_id=openvpn account sufficient pam_radius_auth.so client_id=openvpn @include common-account @include common-session @include common-auth auth required pam_shells.soClient_id -- это атрибут Nas-identifier в радиус-запросе.
# cat /etc/pam_radius_auth.conf # server[:port] shared_secret timeout (s) 10.100.4.100 mymegasecretkey 3
# cat /etc/vsftpd.conf listen=YES anonymous_enable=NO local_enable=YES write_enable=NO dirmessage_enable=YES use_localtime=YES xferlog_enable=YES connect_from_port_20=YES nopriv_user=ftp chroot_local_user=YES secure_chroot_dir=/var/run/vsftpd/empty pam_service_name=vsftpd rsa_cert_file=/etc/ssl/private/vsftpd.pem user_sub_token=$USER guest_username=ftp guest_enable=YES
среда, 4 июня 2014 г.
Сервер OpenVPN с аутентификацией через Radius
Настройка сервера OpenVPN с аутентификацией через Radius в Debian:
# aptitude install openvpn openvpn-auth-radius
# cat /etc/openvpn/radiusplugin.cnf
NAS-Identifier=openvpn
Service-Type=2
Framed-Protocol=1
NAS-Port-Type=5
NAS-IP-Address=10.100.10.85
OpenVPNConfig=/etc/openvpn/server.conf
subnet=255.255.255.0
overwriteccfiles=true
server
{
# The UDP port for radius accounting.
acctport=1815
# The UDP port for radius authentication.
authport=1812
# The name or ip address of the radius server.
name=10.100.4.100
# How many times should the plugin send the if there is no response?
retry=1
# How long should the plugin wait for a response?
wait=1
# The shared secret.
sharedsecret=mymegasecretkey
}
# cat /etc/openvpn/server.conf local my_public_ip port 443 proto tcp dev tun tun-mtu 1500 ca /etc/openvpn/keys/ca.crt cert /etc/openvpn/keys/server.crt key /etc/openvpn/keys/server.key dh /etc/openvpn/keys/dh1024.pem server 10.8.0.0 255.255.255.0 client-cert-not-required username-as-common-name ifconfig-pool-persist ipp.txt push "route 10.100.0.0 255.255.0.0" push "route 10.102.0.0 255.255.0.0" keepalive 10 120 comp-lzo persist-key persist-tun status /var/log/openvpn/status.log 1 plugin /usr/lib/openvpn/radiusplugin.so log-append /var/log/openvpn/openvpn.log verb 3
пятница, 27 декабря 2013 г.
NAT через IPIP-туннель.
Понадобилось для определенного теста сымитировать выход в интернет из другого города. В том городе имеется небольшой сервер, доступный по внутренней сети (предположим, некие VPN от провайдера, сервер и тестовая машина находятся в локальных маршрутизируемых сетях).
У сервера есть белый ip-адрес и выход в интернет, у клиента такой роскоши нет.
Сервер
IP-адрес локалки: 192.168.1.1/24
IP-адрес белый: 1.2.3.4
Клиент
IP-адрес локалки: 192.168.2.2/24
Шлюз 192.168.2.1
Решение состоит из двух шагов: Поднятие туннеля между клиентом и сервером и настройка NAT на сервере.
На сервере:
На клиенте:
Forwarding должен быть включен, а rp_filter на всякий случай выключен.
У сервера есть белый ip-адрес и выход в интернет, у клиента такой роскоши нет.
Сервер
IP-адрес локалки: 192.168.1.1/24
IP-адрес белый: 1.2.3.4
Клиент
IP-адрес локалки: 192.168.2.2/24
Шлюз 192.168.2.1
Решение состоит из двух шагов: Поднятие туннеля между клиентом и сервером и настройка NAT на сервере.
На сервере:
ip tun add tun0 mode ipip local 192.168.1.1 remote 192.168.2.2 ttl 255 ip l s dev tun0 up iptables -I INPUT -p 4 -s 192.168.2.2 -j ACCEPT iptables -I FORWARD -s 192.168.2.2 -j ACCEPT iptables -I FORWARD -d 192.168.2.2 -j ACCEPT iptables -t nat -I POSTROUTING -s 192.168.2.2 -j MASQUERADE
На клиенте:
ip tun add tun0 mode ipip local 192.168.2.2 remote 192.168.1.1 ttl 255 ip l s dev tun0 up ip r a 192.168.1.1 via 192.168.2.1 ip r d default ip r a default dev tun0Надо помнить, что здесь не используется шифрование.
Forwarding должен быть включен, а rp_filter на всякий случай выключен.
воскресенье, 15 декабря 2013 г.
Почему не запускается бинарник?
user@book:~$ /home/user/some_program/program_bin bash: /home/user/some_program/program_bin: Нет такого файла или каталога user@book:~$ ls -l /home/user/some_program/program_bin -rwxr-xr-x 1 user user 286567 май 27 2012 /home/user/some_program/program_bin user@book:~$ file /home/user/some_program/program_bin /home/user/some_program/program_bin: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.2.0, not stripped user@book:~$ /home/user/some_program/program_bin bash: /home/user/some_program/program_bin: Нет такого файла или каталога user@book:~$ mount | grep home /dev/mapper/_dev_dm_3 on /home/user type ext4 (rw,relatime,data=ordered) user@book:~$ ls -ld /home/user/some_program drwxr-xr-x 15 user user 4096 окт 24 19:38 /home/user/some_program
user@book:~$ ld /home/user/some_program/program_bin
ld: i386 architecture of input file `/home/user/some_program/program_bin' is incompatible with i386:x86-64 output
пятница, 27 сентября 2013 г.
Пара ссылок для диагностики доступа к Youtube
Пара ссылок для диагностики доступа к Youtube, чтоб не забыть.
http://redirector.c.youtube.com/report_mapping покажет, на какую ноду Гугл-кеша происходит редирект
http://www.youtube.com/my_speed статистика по скорости
Подписаться на:
Сообщения (Atom)