Next Previous Contents

18. Network

Вопросы, связанные с X-сервером и запуском программ по сети смотрите в разделе X-сервер

Знаменитый iptables-tutorial. Русский перевод. Оригинал на английском. Перевод весьма хорош. Лучше всего скачать себе в виде архива, тогда вы получите рабочие примеры скриптов.

Также весьма полезно почитать статьи в разделе переводов и оригинальных статей Linux Gazette. А чтобы не пропускать обновления, лично я (jackill) подписался на их рассылку на http://subscribe.ru.

18.1 Как поменять в KPPP тоновый набор на импульсный?

Либо перед номером телефона пишем букву 'P' (латинская!), либо заходим в свойства kppp, команды и пишем вместо ATDT команду ATDP.

18.2 Что делать, если при запуске wvdial не от рута программа пишет device busy?

Дайте пользователю права на запись в директорию /var/lock (скажем, включив его в группу, владеющую данной папкой)

Вариант работает у малого количества людей.

18.3 А можно пример конфига для wvdial?

/etc/wvdial.conf: [Dialer Defaults] Modem = /dev/ttyS0 Baud = 112500 Init = ATZ Init2 = AT S11=50 Dial Command = ATDP Phone = 9955555 Username = int1104221 Password = LyQSptAy New PPPD = yes #Init3 = ATM0 [Dialer phone2] Phone = 9955556 [Dialer phone3] Phone = 1055555 [Dialer phone4] Phone=9519024 [Dialer phone5] Phone=9613332 [Dialer norm] Init3 = ATM1 [Dialer phone6] Phone=7132245 [Dialer phone7] Phone=7113676

18.4 Как включить сжатие ip-заголовков microsoft (MPPE/MPPC)?

В виндах этот алгоритм называется MPPC сжатием (компрессией), Обычно в дистрибутивах linux поддержи по умолчанию нет,

Для того, чтобы ее включить, понадобится скачать патч для ядра http://www.polbox.com/h/hs001/ или отдельный модуль http://sourceforge.net/project/showfiles.php?group_id=44827&package_id=120221&release_id=244156.

Далее нужно пропатчить pppd (патч там же, где патч под ядро). А в /etc/modprobe.conf или /etc/modules.conf нужно добавить пару строчек, чтобы получилось следующее:

alias ppp-compress-18 ppp_mppe_mppc alias char-major-108 ppp_generic alias ppp-compress-21 bsd_comp alias ppp-compress-24 ppp_deflate alias ppp-compress-26 ppp_deflate alias tty-ldisc-3 ppp_async alias tty-ldisc-14 ppp_synctty

18.5 Как подключить GPRS? Как настроить соединение через bluetooth-адаптер? (Вопросы про Bluetooth, Simens S55)

На русском - http://www.opennet.ru/base/net/gprs_linux.txt.html, http://dvtl.pisem.net/gprs_moto.html

http://turtiainen.dna.fi/GPRS-HOWTO

Если мобильный телефон определяется как AT-совместимый модем, идем на http://www.easyconnect.linuxuser.hu/ и качаем программу 'GPRS Easy Connect', собираем и запускаем

Хорошие статьи: http://www.linuxrsp.ru/artic/Linux-Bluetooth.html http://www.linuxrsp.ru/artic/Linux-OBEX-GPRS.html http://www.linuxrsp.ru/artic/Siemens-S55.html

Еще о bluetooth: http://www.smartweb.ru/news.php?act=c&page=27&cat=2&scat=6 http://www.linuxforum.ru/index.php?s=fbfbecaba95453655a567110503627a7&showtopic=3745&pid=62649&st=0

18.6 Как настроить СТРИМ?

Как любое ADSL соединение:

Для некоего питерского провайдера, предоставляющего сходные услуги, есть подробная статья.

О том, как настроить те или иные ADSL USB-модемы, читайте в разделе hardware-main .

18.7 Подключаюсь к интернету по модему. Соединение проходит, но ни один браузер не может ничего открыть. Что делать?

Возможные проблемы:

Решить все, кроме последнего пункта, довольно просто:

18.8 После того как вхожу в инет машина начинает дико тормозить. Все открывается долго. Что делать?

Убрать в своей программе дозвона получение имя хоста от провайдера. В том же kppp, например, есть галочка на эту тему. О параметрах pppd читайте man pppd

18.9 Какой выбрать сервер VPN?

Вот здесь лежат ссылки на статью, сравнивающую функциональность различных VPN-серверов, а также ведущая на небольшие статьи со ссылками на полную документацию к большинству основных дистрибутивов. Не везде документация свежая, но в сочетании с манами по ней можно легко настроить нужное вам решение.

18.10 Как настроить подключение к Microsoft VPN Server?

Прочитайте об этом - http://www.nixp.ru/cgi-bin/go.pl?q=articles;a=ms_vpn_client, http://fine.kalinovka.net/?q=node/4

Как настроить pptpclient в Mandrake Linux смотрите здесь http://pptpclient.sourceforge.net/howto-mandrake-10.phtml.

18.11 Как настроить шифрование в pptp, если сам он уже работает? (VPN)

Найти и скачать пакет kernel_ppp_mppe http://sourceforge.net/project/showfiles.php?group_id=44827&package_id=120221&release_id=244156 или патчик в ядро http://www.polbox.com/h/hs001/ (тогда его придется пересобирать).

Узнать, поддерживает ли твой pppd mschap v2. Наверно нет. Наверно стоит сходить на mcmcc.bat.ru - там они вроде патченные. Или опять же скачать патчик.

Добавим в /etc/modules.conf строчку

alias ppp-compress-18 ppp_mppe_mppc

А в /etc/ppp/options.pptpd запишем

lock require-mppe require-mschap-v2

Остальное в меру своей испорченности - у меня (jackill), например, прописан плагин к радиусу.

Далее заходим в наши винды, во вкладку соединения, там выставляем "дополнительные" параметры вместо всяческих типовых и отмечаем mschap v2. Галочку с mschap (который первой версии) убираем, иначе не будет подключаться.

18.12 Как разрешить клиентам из LAN соединяться по VPN через NAT?

Для поддержки passthrough VPN-соединений нужно установить patch-o-matic расширение - http://netfilter.org/patch-o-matic/index.html

18.13 Есть компьютер, подключенный к интернету и в нем есть сетевая карта. Есть вторая машина. Как бы на нее интернет подключить?

Я так понимаю, сделать это надо быстро, но неизвестно как и что. Отлично. Нам нужно найти rc.firewall-strong. Проще всего искать в http://www.google.ru по словосочетанию "FWVER=0.80" (эта версия уже держится около полугода без особых модификаций).

Я его нашел, например, здесь: http://www.aerospacesoftware.com/firewall-howto.html.

Версия 0.75 содержится в Linux IP Masquerading How-To.

Качаем этот файл, называем его rc.firewall и кладем в /etc/rc.d/,

Далее пользуясь комментариями исправляем (интерфейсы - вдруг ppp0 потребуется вместо eth0, включаем/выключаем DHCP, смотрим надо ли включать ip_dynaddr), запускаем.

Затем на второй машине прописываем машину с интернетом как gateway (см. как это делается в вашем дистрибутиве), в /etc/resolv.conf прописываете адреса DNS-серверов провайдера. Все.

Если машина под управлением MS Windows, выставляете все настройки в "Настройке сети".

18.14 Как мне защитить свою домашнюю машину под управлением ОС Linux от атак из интернета и из локальной сети?

Это очень обширная тема, в силу чего я не очень хотел бы помещать такие вопросы тут, но вот кратенько об основном:

#!/bin/bash for table in INPUT OUTPUT FORWARD ; do iptables -P $table DROP done iptables -A INPUT -p TCP -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A INPUT -p UDP -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A OUTPUT -p ALL -j ACCEPT

Этими командами мы разрешаем выход в мир с нашей машины и запрещаем все отстальное. Обычно, такой скрипт называется /etc/rc.d/rc.firewall и запускается из стартовых скриптов (например, /etc/rc.d/rc.local.

Для более подробного ознакомления с возможностями iptables следует почитать хотя-бы это - http://www.opennet.ru/docs/RUS/iptables/index.html.

После того, как вы прочитали хотя бы порядок прохождения пакетов в linux при использовании iptables, можете попробовать графические интерфейсы для настройки iptables.

И уж точно не повредит прочтение документов из раздела Sequrity.

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

18.15 В какой цепочке iptables считать трафик, в каком порядке проходятся цепочки, что будет раньше, NAT или шейпинг и т.д.?

После внимательного изучения Kernel Packet Traveling Diagram эти вопросы должны отпасть - http://www.docum.org/docum.org/kptd/

Так же неплохо посмотреть iptables-tutorial (ссылка в начале этого раздела).

18.16 Как ограничить скорость прохождения трафика?

В общем и целом, это довольно сложная тема и если применять соответствующие утилиты без относительного понимания, лучше точно не будет.

Ограничивать скорость прохождения трафика можно и с помощью iptables (при использовании Patch-o-matic расширений, например).

Или с помощью шейперов.

Кроме того, в Squid имеется механизм ограничения скорости web-трафика.

Очень большие возможностыи дает использование утилит пакета iproute2 - http://developer.osdl.org/dev/iproute2/.

Документация по использованию iproute2:

Кроме того, для упрощения использования возможностей по управлению трафиком, были написаны множество скриптов, самые популярные из которых - CBQ.init ( http://sourceforge.net/projects/cbqinit/) и HTB.init ( http://uf.kadan.cz/htb/). Хотя они и обладают рядом недостатков (например, нет возможности обслуживать динамические интерфейсы - ppp+), все же они довольно удобны для решения простых задач.

Кстати, не используйте CBQ.init - дисциплина обработки очереди HTB была разработана на замену CBQ, является более функциональной и удобной в использовании.

18.17 Как соединить MS Windows (hyperterminal) и linux по телефонной линии?

Воспользоваться программой minicom.

Если под MS Windows мы делаем HyperTerminal->Call->телефон, то в minicom просто набираем ATDP телефон (для импульсных линий) или ATDT телефон (для тоновых).

Протокол подключения называется zmodem.

18.18 Как соединить два компьютера через com-порты?

Выполняем на первой машине: pppd /dev/ttyS0 115200 local nocrtscts nocdtrcts noxonxoff 192.168.0.1:192.168.0.2 netmask 255.255.255.252 noauth

на второй машине: pppd /dev/ttyS0 115200 local nocrtscts nocdtrcts noxonxoff 192.168.0.2:192.168.0.1 netmask 255.255.255.252 noauth

Получаем локалку со всеми вытекающими.

18.19 Как соединить два компьютера через lpt-порты?

Нужно использовать PLIP (в ядре должна быть поддержка).

Как именно - читайте PLIP-HOWTO.

18.20 Как соединить два компьютера через USB-порты?

Купить PC-to-PC USB кабель. А вот какая у вас связь получится и что дальше - не в курсе. (Кто может описать подробнее, отправьте, пожалуйста, ответ).

18.21 Как узнать, подключен ли сетевой кабель?

user@linux:~$ /sbin/mii-tool eth0: negotiated 100baseTx-FD, link ok

где link ok - подключен.

18.22 Как добавить несколько IP-адресов на интерфейс?

root@localhost:~# ifconfig eth0:any_alias 1.2.3.4 root@localhost:~# ip addr add dev eth0 1.2.3.4

18.23 eth0 смотрит, к примеру, в сеть 10.0.0.0, eth1 смотрит в 192.168.0.0. Как создать маршрут, чтобы машины из сети 192* видели сеть 10*?

root@linux:~# route add -net 10.0.0.0 netmask x.x.x.x dev eth0 root@linux:~# route add -net 192.168.0.0 netmask y.y.y.y dev eth1 root@linux:~# echo "1" > /proc/sys/net/ipv4/ip_forward

Чтобы последняя команда выполнялась на старте, в fedora core нужно выставить 1 на одноименном параметре в /etc/sysctl.conf, а в redhat 7.3 - 9 в /etc/sysconfig/network.

netmask обычно 255.255.255.0

18.24 Как сделать прозрачный мост?

Попробовать воспользоваться how-to для debian http://fssg.st-oskol.ru/doc/how-to/bridging_in_Debian/bridging_in_Debian.html#toc6

18.25 После прописывания правил iptables выдается ошибка, последнее сообщение которой Try `iptables -h' or 'iptables --help' for more information. Что делать?

Убьем сразу кучу зайцев и рассмотрим несколько вопросов в одном.

Запомните: Скорее всего у вас неправильно написана команда. Вы где-то что-то забыли написать.

Теперь успокойтесь, глубоко вздохните, выдохните и ищите ошибку. Самые распространенные:

18.26 Как просматривать ресурсы сети Windows (сетевое окружение) из консоли? Как его смонтировать?

Для начала нужно посмотреть ресурсы при помощи команды smbclient -L winmachine. На данный момент ресурсы с названием более 16 символов поддерживаются некорректно, т.е. все символы в названии после 16-го отсекаются.

Чтобы смонтировать нужный ресурс, дайте примерно такую команду:

smbmount //winmachine/movie /home/jackill/mnt/movie -o iocharset=koi8-r,rw,codepage=cp866,umask=0

Для ресурсов с паролем дайте команду: smbmount //winmachine/work /home/jackill/mnt/work -o iocharset=koi8-r,rw,umask=0,codepage=cp866,username=_username_,password=_password_

Также существуют GUI-утилиты и специальный скрипт, искать ресурсы которыми и монтировать значительно удобнее.

18.27 Как настроить samba? Как сделать, чтобы в ресурсах samba были видны русские буквы?

Настройка samba

Для простой одноранговой сети пример файла настроек samba (/etc/samba/smb.conf) можно скачать здесь.

Из примера должно быть понятно, как сделать доступными свои ресурсы.

Русский язык

Чтобы русские названия файлов отображались правильно, ядро должна быть собрано с определенными параметрами:

File systems -> Network File Systems <M> SMB file system support (to mount Windows shares etc.) [*] Use a default NLS Default Remote NLS Option: "cp866"

Иными словами:

CONFIG_SMB_FS=m CONFIG_SMB_NLS_DEFAULT=y CONFIG_SMB_NLS_REMOTE="cp866"

(проверялось на ядрах серии 2.4.х и 2.6.х)

Далее собираем Samba с поддержкой locales. Для третьей Samba может потребоваться установить libiconv. При этом вторая Samba соберет себе файлы кодовых страниц в /$PREFIX/share/samba/codepages.

Затем в конфигурационном файле samba (для RedHat-подобных систем это /etc/samba/smb.conf) пишем

для samba 2.2.x:

character set = KOI8-R client code page = 866

для samba 3.x.x:

unix charset = KOI8-R display charset = KOI8-R dos charset = 866

Если локаль не koi8-r, а utf8, то в вышеприведенных примерах поменяйте koi8-r на utf8.

Как просмотреть чужие ресурсы Теперь, чтобы получить доступ к ресурсам сети MS Windows, ресурс можно "подмонтировать" (прямо как NFS, только опций больше):

root@linux# mount -t smbfs -o fmask=666,dmask=777,rw,iocharset=koi8-r,codepage=cp866 //winmachine/share /mnt/smb/share

или

user@linux# smbmount //winmachine/share /mnt/smb/share -o iocharset=koi8-r,rw,codepage=cp866,username=your_name,password=your_password

Если ваша локаль не koi8-r, то поставьте в iocharset свою локаль.

Чем можно просмотреть "Сетевое окружение" и смонтировать ресурсы с другой машины смотрите здесь.

Как сделать это из консоли, читайте здесь.

Примечание: Настоятельно рекомендуется использовать не smbfs, а cifs, дабы избежать проблем с правами и передачей файлов длиной более 2Gb. Читайте следующий вопрос.

18.28 Не получается смонтировать ресурсы сервера MS Windows 2003 в домене. Что делать?

Сначала собираем в ядре поддержку Client VFS (CIFS):

CONFIG_CIFS=m # CONFIG_CIFS_STATS is not set CONFIG_CIFS_XATTR=y CONFIG_CIFS_POSIX=y

Затем нужно обновить samba до версии минимум 3.0.7.

Монтируются ресурсы командой mount.cifs (поставляется вместе с samba)

18.29 Обновил Samba/дистрибутив и больше не могу получить доступ к ресурсам Windows, что делать? Как передать через samba файл с размером больше 2Gb?

А это вам маячок, подсказывающий, что пора использовать cifs. Команда для монтирования будет выглядеть примерно так:

mount -t cifs //homeserver/temp /home/jackill/mnt -o iocharset=koi8-r,rw,codepage=cp866,umask=0

Что писать в ядре написано здесь

18.30 Как сделать в samba папку, чтобы в нее могли все заходить без аутентификации?

Удивительно, но этот вопрос зачастил. В файле конфигурации самба (smb.conf) в разделе Global пишем строчку:

security = share

Пример описания папки:

[media] comment = working path = /mnt/dos/media browseable = yes writable = yes create mode = 0644 directory mode = 0777 guest ok = yes public = yes

18.31 Как управлять iptables с помощью samba + ldap?

http://www.invask.ru/linuxtools/ldap-iptables/

18.32 Хочу синхронизировать время с серверами времени в интернете. Как это сделать?

Довольно просто - берем пакет ntp и устанавливаем себе на машину. В большинстве дистрибутивов (Fedora Core, Mandrake, SuSe) он поставляется сразу.

Список серверов можно взять здесь:

18.33 Как настроить бездисковую загрузку?

Тема довольно объемная. Чтобы не играть в глухой телефон, лучше прочитайте вот это:

http://ltsp.org/, http://ltsp.ru/

http://thinstation.sourceforge.net/wiki/index.php/ThIndex

http://www.wtware.ru/

18.34 Как передать звук с одной машины на другую по сети, используя arts?

Первый пользователь должен запустить artsd так:

user1@localhost$ artsd -u -p xxxxx

Второй пользователь должен отключить свой уже запущенный atrsd (см. настройки звука в Control Center) и дать такую команду:

user2@localhost$ export ARTS_SERVER=hostname:xxxxx

xxxxx- порт arts сервера.

Теперь user2 сможет использовать сервер запущенный пользователем user1 (и не только он, но и любой, кто даст такую же команду).

Для уменьшения времени отклика сервера можно запустить artswrapper.

18.35 Как передать трафик ssh/telnet/irc и т.п., если я сижу за HTTP-прокси (ssh over proxy)?

Попробуйте воспользоваться туннелем des-proxy - http://desproxy.sourceforge.net/

18.36 Как настроить WAP-сервер?

Настроить обычный apache, предварительно задавшись соответствующим вопросом на любом поисковике.

Если коротко: нужно ему написать в конфиге DirectoryIndex что_угодно index.wml И положить это самый wml.


Next Previous Contents