X-Git-Url: http://wagner.pp.ru/gitweb/?a=blobdiff_plain;f=hints%2Fnotebook.html;h=4d90edfc271df64633d80ad95227ed34fcdb93a6;hb=8e1d7dd70504a9e8a64b0f1ef9785cd21ed04d57;hp=b8cdd6299e7d532b71e245fb65f61a5351bfb74d;hpb=46aef0fe0d1ee9cbd31d359bbdf200539cffb79a;p=sites%2Fhome_page.git diff --git a/hints/notebook.html b/hints/notebook.html index b8cdd62..4d90edf 100644 --- a/hints/notebook.html +++ b/hints/notebook.html @@ -1,94 +1,94 @@ - -îÁÓÔÒÏÊËÁ ÎÏÕÔÂÕËÁ - + +Настройка ноутбука + -

îÁÓÔÒÏÊËÁ ÎÏÕÔÂÕËÁ

-îÏÕÔÂÕË ÏÔÌÉÞÁÅÔÓÑ ÏÔ ÓÔÁÃÉÏÎÁÒÎÏÇÏ ËÏÍÐØÀÔÅÒÁ ÔÅÍ, ÞÔÏ ÄÌÑ ÎÅÇÏ -ÐÅÒÅÍÅÝÅÎÉÅ ÉÚ ÏÄÎÏÇÏ ÍÅÓÔÁ × ÄÒÕÇÏÅ Ñ×ÌÑÅÔÓÑ ÛÔÁÔÎÙÍ ÒÅÖÉÍÏÍ ÒÁÂÏÔÙ. -ëÁË ÐÒÁ×ÉÌÏ, × ÂÏÌØÛÉÎÓÔ×Å ÍÅÓÔ ËÕÄÁ ÍÙ ÈÏÄÉÍ Ó ÎÏÕÔÂÕËÁÍÉ, ÅÓÔØ ÓÅÔØ, × -ËÏÔÏÒÕÀ ÍÙ ÜÔÏÔ ÎÏÕÔÂÕË ×ËÌÀÞÁÅÍ. èÏÞÅÔÓÑ ÓÄÅÌÁÔØ ÔÁË, ÞÔÏÂÙ ÎÉÞÅÇÏ -ÄÏÐÏÌÎÉÔÅÌØÎÏ ÎÁÓÔÒÁÉ×ÁÔØ ÐÒÉ ÜÔÏÍ ÎÅ ÐÒÉÈÏÄÉÌÏÓØ. -

-òÁÓÓÍÏÔÒÉÍ ËÁË ÄÏÂÉÔØÓÑ ÜÔÏÇÏ × ÓÌÕÞÁÅ ÅÓÌÉ ÎÁ ÎÏÕÔÂÕËÅ ÕÓÔÁÎÏ×ÌÅÎ +

Настройка ноутбука

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

+Рассмотрим как добиться этого в случае если на ноутбуке установлен Debian sarge -

ðÏÓÔÁÎÏ×ËÁ ÚÁÄÁÞÉ

-îÅ ÂÕÄÕ ÕÔ×ÅÒÖÄÁÔØ ÞÔÏ ÍÏÊ ÈÁÒÁËÔÅÒ ÉÓÐÏÌØÚÏ×ÁÎÉÑ ÎÏÕÔÂÕËÁ ÓÁÍÙÊ -ÔÉÐÉÞÎÙÊ, ÎÏ ÐÏÓËÏÌØËÕ ÄÒÕÇÏÇÏ ÏÐÙÔÁ Õ ÍÅÎÑ ÎÅÔ, ÏÐÉÛÕ ËÁËÏÊ ÅÓÔØ. +

Постановка задачи

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

-îÏÕÔÂÕË ÍÏÖÅÔ ÂÙÔØ +Ноутбук может быть

    -
  1. ÷ËÌÀÞÅÎ × ÌÏËÁÌØÎÕÀ ÓÅÔØ ÄÏÍÁ -
  2. ÷ËÌÀÞÅÎ × ÌÏËÁÌØÎÕÀ ÓÅÔØ ÎÁ ÒÁÂÏÔÅ -
  3. ÷ËÌÀÞÅÎ × ÌÏËÁÌØÎÕÀ ÓÅÔØ × ÇÏÓÔÑÈ -
  4. ðÏÄÓÏÅÄÉÎÅÎ Ë ÉÎÔÅÒÎÅÔÕ ÞÅÒÅÚ GPRS -
  5. ðÏÄÓÏÅÄÉÎÅÎ Ë ÉÎÔÅÒÎÅÔÕ ÞÅÒÅÚ dialup-ÓÏÅÄÉÎÅÎÉÅ (ÞÔÏ ÍÁÌÏ ÞÅÍ -ÏÔÌÉÞÁÅÔÓÑ ÏÔ GPRS). +
  6. Включен в локальную сеть дома +
  7. Включен в локальную сеть на работе +
  8. Включен в локальную сеть в гостях +
  9. Подсоединен к интернету через GPRS +
  10. Подсоединен к интернету через dialup-соединение (что мало чем +отличается от GPRS).
-

éÓÐÏÌØÚÕÅÍÙÅ ÐÒÏÔÏËÏÌÙ

-ëÏÇÄÁ ÎÏÕÔÂÕË ×ËÌÀÞÁÅÔÓÑ × ÌÏËÁÌØÎÕÀ ÓÅÔØ, ÛÔÁÔÎÙÍ ÓÐÏÓÏÂÏÍ ÏÂÏÊÔÉÓØ ÂÅÚ -ÒÕÞÎÏÊ ÎÁÓÔÒÏÊËÉ ÐÁÒÁÍÅÔÒÏ× ÓÅÔÉ, Ñ×ÌÑÅÔÓÑ ÉÓÐÏÌØÚÏ×ÁÎÉÅ ÐÒÏÔÏËÏÌÁ DHCP +

Используемые протоколы

+Когда ноутбук включается в локальную сеть, штатным способом обойтись без +ручной настройки параметров сети, является использование протокола DHCP (Dynamic host configuration protocol).

-ëÏÇÄÁ ÎÏÕÔÂÕË ÉÓÐÏÌØÚÕÅÔ GPRS ÉÌÉ dialup-ÓÏÅÄÉÎÅÎÉÅ, ÔÏ ×ÓÅ ÎÁÓÔÒÏÊËÉ -ËÏÔÏÒÙÅ ÍÙ ÍÏÖÅÍ ÐÏÌÕÞÉÔØ ÏÐÒÅÄÅÌÑÀÔÓÑ ×ÏÚÍÏÖÎÏÓÔÑÍÉ ÐÒÏÔÏËÏÌÁ PPP - -ÌÏËÁÌØÎÙÊ IP-ÁÄÒÅÓ, ÁÄÒÅÓ ×ÔÏÒÏÇÏ ËÏÎÃÁ PPP-ÌÉÎËÁ (ÏÎ ÖÅ ÛÌÀÚ ÐÏ -ÕÍÏÌÞÁÎÉÀ) ÁÄÒÅÓÁ ÏÄÎÏÇÏ-Ä×ÕÈ DNS-ÓÅÒ×ÅÒÏ× É ×Ó£. -

-÷ÏÚÍÏÖÎÏÓÔÉ DHCP ÓÕÝÅÓÔ×ÅÎÎÏ ÛÉÒÅ. åÓÌÉ ×ÎÉÍÁÔÅÌØÎÏ ÐÏÞÉÔÁÔØ man -dhcpd.conf ÔÏ ÍÏÖÎÏ ÏÂÎÁÒÕÖÉÔØ ÞÔÏ Ó ÐÏÍÏÝØÀ DHCP ÍÏÖÎÏ ÎÁÓÔÒÏÉÔØ ÒÕÔÅÒ -Ó ÎÅÔÒÉ×ÉÁÌØÎÙÍ ÒÕÔÉÎÇÏÍ É ÒÁÂÏÞÕÀ ÓÔÁÎÃÉÀ, ÉÓÐÏÌØÚÕÀÝÕÀ ËÕÞÕ ÒÁÚÌÉÞÎÙÈ -ÓÅÔÅ×ÙÈ ÐÒÏÔÏËÏÌÏ×. åÓÔÅÓÔ×ÅÎÎÏ, ÅÓÌÉ ËÌÉÅÎÔ ÄÏÓÔÁÔÏÞÎÏ ÕÍÎÙÊ, ÞÔÏÂÙ -ÜÔÉÍÉ ×ÏÚÍÏÖÎÏÓÔÑÍÉ ×ÏÓÐÏÌØÚÏ×ÁÔØÓÑ. -

-ñ ÉÓÐÏÌØÚÕÀ isc dhclient ×ÅÒÓÉÉ 3 (ÐÁËÅÔ dhcp3-client). üÔÏÔ ËÌÉÅÎÔ -ÍÏÖÅÔ ×Ó£. -

ðÏÌÕÞÅÎÉÅ ÓÔÁÔÉÞÅÓËÏÇÏ IP-ÁÄÒÅÓÁ

. -äÌÑ linux-ÎÏÕÔÂÕËÁ ÓÕÝÅÓÔ×ÅÎÎÏ ×ÁÖÎÏ, ÞÔÏÂÙ ÏÎ ÉÍÅÌ ÐÏÓÔÏÑÎÎÙÊ IP-ÁÄÒÅÓ, -Ë ÔÏÍÕ ÖÅ ÐÒÏÐÉÓÁÎÎÙÊ × ÌÏËÁÌØÎÏÍ DNS Ó ËÁËÉÍ-ÎÉÂÕÄØ ÏÓÍÙÓÌÅÎÎÙÍ ÉÍÅÎÅÍ. -÷ÅÄØ ÜÔÏÔ ÎÏÕÔÂÕË Ñ×ÌÑÅÔÓÑ ÎÅ ÔÏÌØËÏ ËÌÉÅÎÔÏÍ, ÎÏ É ÓÅÒ×ÅÒÏÍ. õÖ sshd-ÔÏ -Õ ×ÁÓ ÎÁ ÎÅÍ ÅÓÔØ, É ×ÏÚÍÏÖÎÏÓÔØ ÚÁÐÕÓÔÉÔØ scp ÎÁ ÄÅÓËÔÏÐÎÏÊ ÍÁÛÉÎÅ -ÞÔÏÂÙ ÓËÏÐÉÒÏ×ÁÔØ ÆÁÊÌÙ Ó ÎÏÕÔÂÕËÁ - ËÒÁÊÎÅ ÐÏÌÅÚÎÁ. -

-åÓÌÉ Õ ×ÁÓ × ÎÏÕÔÂÕËÅ ÅÓÔØ ×ÓÔÒÏÅÎÎÁÑ ÓÅÔÅ×ÁÑ ËÁÒÔÁ, ÔÏ ÍÏÖÎÏ ÐÒÏÐÉÓÁÔØ -× ËÏÎÆÉÇÅ dhcp-ÓÅÒ×ÅÒÁ ×ÙÄÁÞÕ ÐÏÓÔÏÑÎÎÏÇÏ IP ÐÏ ÜÔÏÊ ÓÅÔÅ×ÏÊ ËÁÒÔÅ. îÏ -ÅÓÌÉ ×Ù ÉÓÐÏÌØÚÕÅÔÅ PCMCIA ÉÌÉ USB ÓÅÔÅ×ÕÀ ËÁÒÔÕ ÉÌÉ ËÁËÏÊ ÂÅÓÐÒÏ×ÏÄÎÏÊ -ÁÄÁÐÔÅÒ (bluetooth, wifi) ÐÏÄËÌÀÞÁÅÍÙÊ ÞÅÒÅÚ pcmcia ÉÌÉ USB, ÔÏ -ÓÕÝÅÓÔ×ÅÎÎÏ ×ÁÖÎÏ ÞÔÏÂÙ ÅÓÌÉ ×Ù ÐÏÍÅÎÑÌÉÓØ ÓÅÔÅ×ÏÊ ËÁÒÔÏÊ Ó ÓÏÓÅÄÏÍ, ×Ù -ÎÅ ÐÏÍÅÎÑÌÉÓØ ÂÙ ÚÁÏÄÎÏ É IP-ÁÄÒÅÓÁÍÉ. -

-äÌÑ ÜÔÏÇÏ × ÐÒÏÔÏËÏÌÅ DHCP ÅÓÔØ ÐÏÎÑÔÉÅ client identifier. -

-÷ ËÁÞÅÓÔ×Å ÉÄÅÎÔÉÆÉËÁÔÏÒÁ ËÌÉÅÎÔÁ ÍÏÖÅÔ ÂÙÔØ ÉÓÐÏÌØÚÏ×ÁÎÁ ÐÒÏÉÚ×ÏÌØÎÁÑ -ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔØ ÂÁÊÔ. ÷ ËÏÎÆÉÇÁÈ dhclient É dhcpd (ÐÒÅÄÐÏÌÁÇÁÅÍ ÞÔÏ × -×ÁÛÅÊ ÌÏËÁÌØÎÏÊ ÓÅÔÉ × ËÁÞÅÓÔ×Å ÓÅÒ×ÅÒÁ ÉÓÐÏÌØÚÕÅÔÓÑ ISC dhcpd) ÜÔÏÔ -ÉÄÅÎÔÉÆÉËÁÔÏÒ ÍÏÖÎÏ ÐÒÏÐÉÓÁÔØ É ËÁË ÎÁÂÏÒ 16-ÒÉÞÎÙÈ ÚÎÁÞÅÎÉÊ ÒÁÚÄÅÌÅÎÎÙÈ -ÎÁ ÂÁÊÔÙ Ä×ÏÅÔÏÞÉÑÍÉ, É ËÁË ÓÔÒÏËÕ × ËÁ×ÙÞËÁÈ. áÎÁÌÏÇÉÞÎÙÅ ×ÏÚÍÏÖÎÏÓÔÉ -ÉÍÅÀÔ ËÌÉÅÎÔÙ dhcp ÐÏ ÕÍÏÌÞÁÎÉÀ × FreeBSD É Solaris. ÷ Windows Ó ÜÔÉÍ -×ÓÅ ÇÏÒÁÚÄÏ ÈÕÖÅ. ôÁÍ ÐÏÞÅÍÕ-ÔÏ ÉÄÅÎÔÉÆÉËÁÔÏÒ ÚÁÄÁÅÔÓÑ Ó × ×ÉÄÅ -32-ÂÉÔÎÏÇÏ ÞÉÓÌÁ (ÈÏÔÑ ÐÒÏÔÏËÏÌ ÔÁËÏÇÏ ÖÅÓÔËÏÇÏ ÏÇÒÁÎÉÞÅÎÉÑ ÎÅ -ÎÁËÌÁÄÙ×ÁÅÔ) -

-ñ ×ÓÅÇÄÁ ÉÓÐÏÌØÚÕÀ × ËÁÞÅÓÔ×Å ÉÄÅÎÔÉÆÉËÁÔÏÒÁ hostname ËÏÍÐØÀÔÅÒÁ. üÔÏ -ÓÕÝÅÓÔ×ÅÎÎÏ ÏÂÌÅÇÞÁÅÔ ÐÏÄÄÅÒÖËÕ ËÏÎÆÉÇÕÒÁÃÉÉ dhcp-ÓÅÒ×ÅÒÁ. -

-éÔÁË, ÐÉÛÅÍ × /etc/dhcp3/dhclient.conf +Когда ноутбук использует GPRS или dialup-соединение, то все настройки +которые мы можем получить определяются возможностями протокола PPP - +локальный IP-адрес, адрес второго конца PPP-линка (он же шлюз по +умолчанию) адреса одного-двух DNS-серверов и всё. +

+Возможности DHCP существенно шире. Если внимательно почитать man +dhcpd.conf то можно обнаружить что с помощью DHCP можно настроить рутер +с нетривиальным рутингом и рабочую станцию, использующую кучу различных +сетевых протоколов. Естественно, если клиент достаточно умный, чтобы +этими возможностями воспользоваться. +

+Я использую isc dhclient версии 3 (пакет dhcp3-client). Этот клиент +может всё. +

Получение статического IP-адреса

. +Для linux-ноутбука существенно важно, чтобы он имел постоянный IP-адрес, +к тому же прописанный в локальном DNS с каким-нибудь осмысленным именем. +Ведь этот ноутбук является не только клиентом, но и сервером. Уж sshd-то +у вас на нем есть, и возможность запустить scp на десктопной машине +чтобы скопировать файлы с ноутбука - крайне полезна. +

+Если у вас в ноутбуке есть встроенная сетевая карта, то можно прописать +в конфиге dhcp-сервера выдачу постоянного IP по этой сетевой карте. Но +если вы используете PCMCIA или USB сетевую карту или какой беспроводной +адаптер (bluetooth, wifi) подключаемый через pcmcia или USB, то +существенно важно чтобы если вы поменялись сетевой картой с соседом, вы +не поменялись бы заодно и IP-адресами. +

+Для этого в протоколе DHCP есть понятие client identifier. +

+В качестве идентификатора клиента может быть использована произвольная +последовательность байт. В конфигах dhclient и dhcpd (предполагаем что в +вашей локальной сети в качестве сервера используется ISC dhcpd) этот +идентификатор можно прописать и как набор 16-ричных значений разделенных +на байты двоеточиями, и как строку в кавычках. Аналогичные возможности +имеют клиенты dhcp по умолчанию в FreeBSD и Solaris. В Windows с этим +все гораздо хуже. Там почему-то идентификатор задается с в виде +32-битного числа (хотя протокол такого жесткого ограничения не +накладывает) +

+Я всегда использую в качестве идентификатора hostname компьютера. Это +существенно облегчает поддержку конфигурации dhcp-сервера. +

+Итак, пишем в /etc/dhcp3/dhclient.conf

 send host-name "thinkpad";
 send dhcp-client-identifier "thinkpad";
 
-ðÅÒ×ÁÑ ÓÔÒÏÞËÁ ÐÏÞÔÉ ÎÉËÁË ÎÅ ×ÌÉÑÅÔ ÎÁ dhcpd. ÷ dhcpd ×ÅÒÓÉÉ -3 ÍÏÖÅÔ ÂÙÔØ ÞÔÏ-ÔÏ É ÍÏÖÎÏ ÓÄÅÌÁÔØ, Á dhcpd 2.x ÐÒÏÓÔÏ ÚÁÐÉÛÅÔ -ÐÏÌÕÞÅÎÎÙÅ hostname × dhcp.leases (ÞÔÏ ÔÏÖÅ ÎÅ ×ÒÅÄÎÏ - ÁÄÍÉÎÉÓÔÒÁÔÏÒ -ÓÅÒ×ÅÒÁ ÓÍÏÖÅÔ ÕÚÎÁÔØ ËÁËÏÊ IP ÐÏÌÕÞÁÌÁ ÄÁÎÎÁÑ ÍÁÛÉÎÁ, ÅÓÌÉ ÏÎÁ -ÐÏÞÅÍÕ-ÔÏ ÐÏÌÕÞÉÌÁ ÁÄÒÅÓ ÉÚ ÄÉÎÁÍÉÞÅÓËÏÇÏ ÄÉÁÐÁÚÏÎÁ). -

-÷ ËÏÎÆÉÇÕÒÁÃÉÏÎÎÏÍ ÆÁÊÌÅ dhcpd ×ÁÛÅÍÕ ÎÏÕÔÂÕËÕ ÄÏÌÖÅÎ ÓÏÏÔ×ÅÔÓÔ×Ï×ÁÔØ -ÂÌÏË: +Первая строчка почти никак не влияет на dhcpd. В dhcpd версии +3 может быть что-то и можно сделать, а dhcpd 2.x просто запишет +полученные hostname в dhcp.leases (что тоже не вредно - администратор +сервера сможет узнать какой IP получала данная машина, если она +почему-то получила адрес из динамического диапазона). +

+В конфигурационном файле dhcpd вашему ноутбуку должен соответствовать +блок:

  host thinkpad {
       option dhcp-client-identifier "thinkpad";
@@ -97,97 +97,97 @@ send dhcp-client-identifier "thinkpad";
   }    
 
-÷ ÄÏÍÁÛÎÅÊ ÓÅÔÉ ×Ù ÔÁËÏÊ ÂÌÏË ÐÒÏÐÉÛÅÔÅ Ó ÌÅÇËÏÓÔØÀ, Á × ÒÁÂÏÞÅÊ ÄÌÑ -ÜÔÏÇÏ ÎÕÖÎÏ ÉÍÅÔØ ËÏÅ-ËÁËÏÅ ×ÌÉÑÎÉÅ ÎÁ ÓÉÓÔÅÍÎÏÇÏ ÁÄÍÉÎÉÓÔÒÁÔÏÒÁ. -

-÷ ÄÏÍÁÛÎÉÈ ÓÅÔÑÈ Ó×ÏÉÈ ÄÒÕÚÅÊ, Ë ËÏÔÏÒÙÍ ×Ù ÈÏÄÉÔÅ × ÇÏÓÔÉ, ÓËÏÒÅÅ ×ÓÅÇÏ -ÐÒÉÄÅÔÓÑ ÕÄÏ×ÌÅÔ×ÏÒÉÔØÓÑ ÄÉÎÁÍÉÞÅÓËÉÍ IP, ÅÓÌÉ ÔÏÌØËÏ ×Ù ÎÅ ÈÏÄÉÔÅ Ë ÎÉÍ -× ÇÏÓÔÉ ÄÏÓÔÁÔÏÞÎÏ ÒÅÇÕÌÑÒÎÏ. -

-íÏÖÎÏ ÅÝÅ ÐÙÔÁÔØÓÑ ÄÉÎÁÍÉÞÅÓËÉ ÐÒÏÁÐÄÅÊÔÉÔØ ÌÏËÁÌØÎÙÊ DNS, Ó×ÑÚÁ× Ó×ÏÅ -ÉÍÑ Ó ÐÏÌÕÞÅÎÎÙÍ ÄÉÎÁÍÉÞÅÓËÉÍ IP, ÎÏ Ñ ÜÔÉÍ ÎÉËÏÇÄÁ ÎÅ ÒÁÚ×ÌÅËÁÌÓÑ, -ÐÏÜÔÏÍÕ ÓÏ×ÅÔÏ× ÄÁ×ÁÔØ ÎÅ ÂÕÄÕ. -

îÁÓÔÒÏÊËÁ DNS É ÐÒÏÞÉÈ ÐÁÒÁÍÅÔÒÏ× ÒÅÚÏÌ×ÉÎÇÁ

-îÕÖÅÎ ÌÉ ÎÁ ÎÏÕÔÂÕËÅ ÌÏËÁÌØÎÙÊ DNS-ÓÅÒ×ÅÒ? ðÏÓÌÅÄÎÅÅ ×ÒÅÍÑ Ñ ÐÒÉÛÅÌ Ë -×Ù×ÏÄÕ, ÞÔÏ ÎÕÖÅÎ. úÁÞÅÍ? äÅÌÏ × ÔÏÍ ÞÔÏ ÎÏÕÔÂÕË ÄÁÌÅËÏ ÎÅ ×ÓÅÇÄÁ -×ÙËÌÀÞÁÀÔ ÐÒÉ ÐÅÒÅÔÁÓËÉ×ÁÎÉÉ ÅÇÏ ÉÚ ÏÄÎÏÇÏ ÍÅÓÔÁ × ÄÒÕÇÏÅ. çÏÒÁÚÄÏ ÞÁÝÅ -ÅÇÏ ÚÁÇÏÎÑÀÔ × suspend. á ÂÏÌØÛÁÑ ÞÁÓÔØ ÐÒÏÇÒÁÍÍ, ËÏÔÏÒÙÅ ÍÏÇÕÔ ÂÙÔØ ÐÒÉ -ÜÔÏÍ ÚÁÐÕÝÅÎÙ, ËÒÁÊÎÅ ÏÔÒÉÃÁÔÅÌØÎÏ ÏÔÎÏÓÑÔÓÑ Ë ÓÍÅÎÅ ÁÄÒÅÓÏ× -DNS-ÓÅÒ×ÅÒÏ× ÂÅÚ ÐÅÒÅÚÁÐÕÓËÁ. ÷ÏÏÂÝÅ-ÔÏ × glibc ÅÓÔØ API ÄÌÑ -ÐÅÒÅÉÎÉÃÉÁÌÉÚÁÃÉÉ ÒÅÚÏÌ×ÅÒÁ. îÏ ÉÍ ÐÏÞÔÉ ÎÉËÔÏ ÎÅ ÐÏÌØÚÕÅÔÓÑ. ðÏÜÔÏÍÕ -ËÁËÁÑ-ÎÉÂÕÄØ ÚÁÐÕÝÅÎÎÁÑ ÄÏÍÁ ÐÒÏÇÒÁÍÍÁ ÐÒÉ ÐÅÒÅÎÏÓÅ ÎÁ ÒÁÂÏÔÕ ÂÕÄÅÔ -ÐÒÏÄÏÌÖÁÔØ ÐÙÔÁÔØÓÑ ÄÏÓÔÕÞÁÔØÓÑ ÄÏ ÄÏÍÁÛÎÅÇÏ DNS-ÓÅÒ×ÅÒÁ. èÏÒÏÛÏ, ÅÓÌÉ Õ -ÎÅ£ ÐÏÌÕÞÉÔÓÑ. á ÅÓÌÉ DNS-ÓÅÒ×ÅÒ × ÌÏËÁÌØÎÏÊ ÓÅÔÉ ÉÍÅÌ ÐÒÉ×ÁÔÎÙÊ -IP-ÁÄÒÅÓ? -

-÷ÏÔ ÅÓÌÉ × resolv.conf ÐÒÏÐÉÓÁÎ × ËÁÞÅÓÔ×Å DNS-ÓÅÒ×ÅÒÁ localhost, ÔÏ ×Ó£ -× ÐÏÒÑÄËÅ. îÕÖÎÏ ÔÏÌØËÏ Õ×ÅÄÏÍÉÔØ DNS-ÓÅÒ×ÅÒ Ï ÓÍÅÎÅ ÆÏÒ×ÁÒÄÅÒÏ×. -

-äÌÑ ÜÔÏÊ ÃÅÌÉ × debian ÅÓÔØ ÐÁËÅÔ resolvconf. ÷ ÓÌÕÞÁÅ ÅÓÌÉ ÏÎ -ÕÓÔÁÎÏ×ÌÅÎ, ÓËÒÉÐÔÙ dhcp-ËÌÉÅÎÔÁ É pppd, ÏÔ×ÅÔÓÔ×ÅÎÎÙÅ ÚÁ ÐÒÏÐÉÓÙ×ÁÎÉÅ -ÁÄÒÅÓÏ× DNS ÐÅÒÅÄÁÀÔ ÜÔÕ ÉÎÆÏÒÍÁÃÉÀ ÐÒÏÇÒÁÍÍÅ resolvconf, ×ÍÅÓÔÏ ÔÏÇÏ -ÞÔÏÂÙ Ñ×ÎÙÍ ÏÂÒÁÚÏÍ ÐÅÒÅÐÉÓÙ×ÁÔØ /Åtc/resolv.conf. -

-á resolvconf ÏÂÌÁÄÁÅÔ ÎÁÓÔÒÁÉ×ÁÅÍÏÊ ËÏÎÆÉÇÕÒÁÃÉÅÊ É ÍÏÖÅÔ ÄÅÌÁÔØ ÕÊÍÕ -ÐÏÌÅÚÎÙÈ ×ÅÝÅÊ. ÷ ËÏÍÐÌÅËÔÅ ÂÏÌØÛÉÎÓÔ×Á ×ËÌÀÞÅÎÎÙÈ × ÄÉÓÔÒÉÂÕÔÉ× -DNS-ÓÅÒ×ÅÒÏ× ÅÓÔØ ÓËÒÉÐÔÙ, ËÏÔÏÒÙÅ ÐÏÍÅÝÁÀÔÓÑ × /etc/resolvconf/update.d -É ×ÙÐÏÌÎÑÀÔ ÎÅÏÂÈÏÄÉÍÙÅ ÍÏÄÉÆÉËÁÃÉÉ ÐÒÉ ÓÍÅÎÅ ÁÄÒÅÓÏ× DNS-ÓÅÒ×ÅÒÁ. -

-ñ ×ÙÂÒÁÌ ÄÌÑ ÎÏÕÔÂÕËÁ ËÜÛÉÒÕÀÝÉÊ dns-ÓÅÒ×Åp pdnsd, ÓÐÅÃÉÁÌØÎÏ -ÒÁÚÒÁÂÏÔÁÎÎÙÊ × ËÁÞÅÓÔ×Å ËÜÛÉÒÕÀÝÅÇÏ DNS ÄÌÑ ÍÁÛÉÎÙ-ËÌÉÅÎÔÁ. åÓÌÉ ×ÁÍ -ÈÏÞÅÔÓÑ, ÍÏÖÅÔÅ, ËÏÎÅÞÎÏ, ÐÏÓÔÁ×ÉÔØ ÐÏÌÎÏÃÅÎÎÙÊ bind, ÏÎ ÔÏÖÅ ÕÍÅÅÔ -×ÚÁÉÍÏÄÅÊÓÔ×Ï×ÁÔØ Ó resolvconf, ÎÏ pdnsd ÐÒÏÝÅ × ÎÁÓÔÒÏÊËÅ É ÐÏÔÒÅÂÌÑÅÔ -ÍÅÎØÛÅ ÐÁÍÑÔÉ. -

-ðÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ resolvconf ×ÍÅÓÔÅ Ó ËÅÛÉÒÕÀÝÉÍ DNS-ÓÅÒ×ÅÒÏÍ ÎÕÖÎÏ -ÐÒÏÐÉÓÁÔØ ÓÔÒÏÞËÕ +В домашней сети вы такой блок пропишете с легкостью, а в рабочей для +этого нужно иметь кое-какое влияние на системного администратора. +

+В домашних сетях своих друзей, к которым вы ходите в гости, скорее всего +придется удовлетвориться динамическим IP, если только вы не ходите к ним +в гости достаточно регулярно. +

+Можно еще пытаться динамически проапдейтить локальный DNS, связав свое +имя с полученным динамическим IP, но я этим никогда не развлекался, +поэтому советов давать не буду. +

Настройка DNS и прочих параметров резолвинга

+Нужен ли на ноутбуке локальный DNS-сервер? Последнее время я пришел к +выводу, что нужен. Зачем? Дело в том что ноутбук далеко не всегда +выключают при перетаскивании его из одного места в другое. Гораздо чаще +его загоняют в suspend. А большая часть программ, которые могут быть при +этом запущены, крайне отрицательно относятся к смене адресов +DNS-серверов без перезапуска. Вообще-то в glibc есть API для +переинициализации резолвера. Но им почти никто не пользуется. Поэтому +какая-нибудь запущенная дома программа при переносе на работу будет +продолжать пытаться достучаться до домашнего DNS-сервера. Хорошо, если у +неё получится. А если DNS-сервер в локальной сети имел приватный +IP-адрес? +

+Вот если в resolv.conf прописан в качестве DNS-сервера localhost, то всё +в порядке. Нужно только уведомить DNS-сервер о смене форвардеров. +

+Для этой цели в debian есть пакет resolvconf. В случае если он +установлен, скрипты dhcp-клиента и pppd, ответственные за прописывание +адресов DNS передают эту информацию программе resolvconf, вместо того +чтобы явным образом переписывать /еtc/resolv.conf. +

+А resolvconf обладает настраиваемой конфигурацией и может делать уйму +полезных вещей. В комплекте большинства включенных в дистрибутив +DNS-серверов есть скрипты, которые помещаются в /etc/resolvconf/update.d +и выполняют необходимые модификации при смене адресов DNS-сервера. +

+Я выбрал для ноутбука кэширующий dns-сервеp pdnsd, специально +разработанный в качестве кэширующего DNS для машины-клиента. Если вам +хочется, можете, конечно, поставить полноценный bind, он тоже умеет +взаимодействовать с resolvconf, но pdnsd проще в настройке и потребляет +меньше памяти. +

+При использовании resolvconf вместе с кеширующим DNS-сервером нужно +прописать строчку

 nameserver 0.0.0.0
 
/etc/resolvconf/resolv.conf.d/head ÞÔÏÂÙ ÓÓÙÌËÁ ÎÁ ÌÏËÁÌØÎÙÊ -DNS-ÓÅÒ×ÅÒ ×ÓÅÇÄÁ ÏËÁÚÙ×ÁÌÁÓØ ÐÅÒ×ÏÊ × ÓÇÅÎÅÒÉÒÏ×ÁÎÎÏÍ resolv.conf -

-äÅÌÁÔØ ÜÔÏÔ ÆÁÊÌ ÎÅÐÅÒÅÇÅÎÅÒÉÒÕÅÍÙÍ ÎÅ ÓÔÏÉÔ, ÐÏÓËÏÌØËÕ dhcp ÏÔÄÁÅÔ ÎÅ -ÔÏÌØËÏ ÁÄÒÅÓÁ name-ÓÅÒ×ÅÒÏ×, ÎÏ É domain-name - ÉÍÑ ÄÏÍÅÎÁ ÐÏ ÕÍÏÌÞÁÎÉÀ, -ËÏÔÏÒÏÅ ÉÍÅÅÔ ÓÍÙÓÌ ÐÒÏÐÉÓÙ×ÁÔØ × resolv.conf × ËÁÞÅÓÔ×Å search. -

óÉÎÈÒÏÎÉÚÁÃÉÑ ×ÒÅÍÅÎÉ

-ïÂÝÅÉÚ×ÅÓÔÎÏ, ÞÔÏ ÞÁÓÙ ÎÁ ËÏÍÐØÀÔÅÒÅ ÎÉËÏÇÄÁ ÎÅ ÉÄÕÔ ÔÏÞÎÏ. ðÏÜÔÏÍÕ ÎÁÄÏ -ÅÓÌÉ ÎÅ ÎÅÐÒÅÒÙ×ÎÏ, Ó ÐÏÍÏÝØÀ ntpd, ÔÏ ÈÏÔÑ ÂÙ ÐÅÒÉÏÄÉÞÅÓËÉ -ÓÉÎÈÒÏÎÉÚÉÒÏ×ÁÔØ ×ÒÅÍÑ Ó ËÏÍÐØÀÔÅÒÏÍ,ÎÁ ËÏÔÏÒÏÍ ÚÁÐÕÝÅÎ ntpd, É ËÏÔÏÒÙÊ -ÓÉÎÈÒÏÎÉÚÉÒÕÅÔÓÑ Ó ËÁËÉÍ-ÎÉÂÕÄØ ÓÅÒ×ÅÒÏÍ ×ÒÅÍÅÎÉ, ÉÓÐÏÌØÚÕÝÉÍ ÁÔÏÍÎÙÅ -ÞÁÓÙ. -

-äÅÒÖÁÔØ ntpd ÎÁ ÎÏÕÔÂÕËÅ, ËÏÔÏÒÙÊ ÍÏÖÅÔ ÂÙÔØ ×ÏÏÂÝÅ ×ÎÅ ÓÅÔÉ, Á ÍÏÖÅÔ -ÉÓÐÏÌØÚÏ×ÁÔØ ÄÏÓÔÁÔÏÞÎÏ ÄÏÒÏÇÏÅ GPRS ÓÏÅÄÉÎÅÎÉÅ, Ñ ÓÞÉÔÁÀ ÉÚÌÉÛÉÎÉÍ. -á ×ÏÔ ÐÒÉ ×ËÌÀÞÅÎÉÉ ÎÏÕÔÂÕËÁ × ÓÅÔØ Ó DHCP, ÏÓÏÂÅÎÎÏ ÅÓÌÉ dhcpd ÌÀÂÅÚÎÏ -ÓÏÏÂÝÉÌ Ï ÎÁÌÉÞÉÉ × ÜÔÏÊ ÓÅÔÉ ÓÅÒ×ÅÒÏ× ×ÒÅÍÅÎÉ - ËÒÁÊÎÅ ÐÏÌÅÚÎÏ. -

-÷ dhcp-ÐÒÏÔÏËÏÌÅ ÐÒÅÄÕÓÍÏÔÒÅÎÁ ÐÅÒÅÄÁÞÁ ÉÎÆÏÒÍÁÃÉÉ Ï Ä×ÕÈ ×ÉÄÁÈ ÓÅÒ×ÅÒÏ× -×ÒÅÍÅÎÉ - ÓÔÁÒÏÍ ÐÒÏÔÏËÏÌÅ time (ÐÏÒÔ 37) ËÌÉÅÎÔÏÍ ËÏÔÏÒÏÇÏ Ñ×ÌÑÅÔÓÑ -ËÏÍÁÎÄÁ rdate (ÐÁËÅÔ rdate) É ÂÏÌÅÅ ÓÏ×ÒÅÍÅÎÎÏÇÏ ÐÒÏÔÏËÏÌÁ ntp, ËÌÉÅÎÔÏÍ -ËÏÔÏÒÏÇÏ Ñ×ÌÑÅÔÓÑ ËÏÍÁÎÄÁ ntpdate (ÐÁËÅÔ ntpdate). -

-ðÏÓËÏÌØËÕ ÎÅ ×Ï ×ÓÅÈ ÓÅÔÑÈ ÄÏÓÔÕÐÎÙ ÏÂÁ ÐÒÏÔÏËÏÌÁ, ÂÕÄÅÍ -ÓÉÎÈÒÏÎÉÚÉÒÏ×ÁÔØÓÑ ÐÏ ÔÏÍÕ ÐÒÏÔÏËÏÌÕ, ËÏÔÏÒÙÊ ÄÏÓÔÕÐÅÎ. -

-dhclient ÉÍÅÅÔ Ä×Á ÎÁÂÏÒÁ ÓËÒÉÐÔÏ×-ÈÕËÏ× - dhclient-enter-hooks.d É -dhclient-exit-hooks.d. ðÅÒ×ÙÊ ×ÙÐÏÌÎÑÅÔÓÑ ËÏÇÄÁ ÕÖÅ ÐÏÌÕÞÅÎ ÏÔ×ÅÔ ÏÔ -ÓÅÒ×ÅÒÁ, ÎÏ ÅÝÅ ÎÅ ÓËÏÎÆÉÇÕÒÉÒÏ×ÁÎ ÉÎÔÅÒÆÅÊÓ, Á ×ÔÏÒÏÊ - ÐÏÓÌÅ -ËÏÎÆÉÇÕÒÉÒÏ×ÁÎÉÑ ÉÎÔÅÒÆÅÊÓÁ. åÓÔÅÓÔ×ÅÎÎÏ, ÚÁÐÕÓËÁÔØ ÓÉÎÈÒÏÎÉÚÁÃÉÀ -×ÒÅÍÅÎÉ ÎÁÄÏ ÉÚ ×ÔÏÒÏÇÏ. -

-îÏ ÓÎÁÞÁÌÁ ÎÕÖÎÏ ÏÂßÑÓÎÉÔØ dhclient-Õ, ÞÔÏ ÜÔÕ ÎÅÏÂÑÚÁÔÅÌØÎÕÀ ÉÎÆÏÒÍÁÃÉÀ -ÓÌÅÄÕÅÔ ÚÁÐÒÁÛÉ×ÁÔØ. äÌÑ ÜÔÏÇÏ × dhclient.conf ÐÒÏÐÉÓÙ×ÁÅÍ × ÓÐÉÓÏË -ÚÁÐÒÁÛÉ×ÁÅÍÙÈ ÐÁÒÁÍÅÔÒÏ× (ÏÐÃÉÑ request) ËÒÏÍÅ ÕÍÏÌÞÁÔÅÌØÎÙÈ ÐÁÒÁÍÅÔÒÏ× +в /etc/resolvconf/resolv.conf.d/head чтобы ссылка на локальный +DNS-сервер всегда оказывалась первой в сгенерированном resolv.conf +

+Делать этот файл неперегенерируемым не стоит, поскольку dhcp отдает не +только адреса name-серверов, но и domain-name - имя домена по умолчанию, +которое имеет смысл прописывать в resolv.conf в качестве search. +

Синхронизация времени

+Общеизвестно, что часы на компьютере никогда не идут точно. Поэтому надо +если не непрерывно, с помощью ntpd, то хотя бы периодически +синхронизировать время с компьютером,на котором запущен ntpd, и который +синхронизируется с каким-нибудь сервером времени, использущим атомные +часы. +

+Держать ntpd на ноутбуке, который может быть вообще вне сети, а может +использовать достаточно дорогое GPRS соединение, я считаю излишиним. +А вот при включении ноутбука в сеть с DHCP, особенно если dhcpd любезно +сообщил о наличии в этой сети серверов времени - крайне полезно. +

+В dhcp-протоколе предусмотрена передача информации о двух видах серверов +времени - старом протоколе time (порт 37) клиентом которого является +команда rdate (пакет rdate) и более современного протокола ntp, клиентом +которого является команда ntpdate (пакет ntpdate). +

+Поскольку не во всех сетях доступны оба протокола, будем +синхронизироваться по тому протоколу, который доступен. +

+dhclient имеет два набора скриптов-хуков - dhclient-enter-hooks.d и +dhclient-exit-hooks.d. Первый выполняется когда уже получен ответ от +сервера, но еще не сконфигурирован интерфейс, а второй - после +конфигурирования интерфейса. Естественно, запускать синхронизацию +времени надо из второго. +

+Но сначала нужно объяснить dhclient-у, что эту необязательную информацию +следует запрашивать. Для этого в dhclient.conf прописываем в список +запрашиваемых параметров (опция request) кроме умолчательных параметров subnet-mask, broadcast-addres, time-offset, routers, domain-name, -domain-name-servers, netbios-name-servers É netbios-scope ÅÝÅ ÐÁÒÁÍÅÔÒÙ -time-servers É ntp-servers. +domain-name-servers, netbios-name-servers и netbios-scope еще параметры +time-servers и ntp-servers.

-ôÅÐÅÒØ, ×ÙÚÙ×ÁÑ ÓËÒÉÐÔÙ ÉÚ dhclient-exit-hooks.d, dhclient ÂÕÄÅÔ -×ÙÓÔÁ×ÌÑÔØ ÉÍ ÐÅÒÅÍÅÎÎÙÅ ÓÒÅÄÙ new_ntp_servers É new_time_servers, ÅÓÌÉ, -ËÏÎÅÞÎÏ, ÓÅÒ×ÅÒ ÐÒÅÄÏÓÔÁ×ÉÔ ÉÍ ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÕÀ ÉÎÆÏÒÍÁÃÉÀ. +Теперь, вызывая скрипты из dhclient-exit-hooks.d, dhclient будет +выставлять им переменные среды new_ntp_servers и new_time_servers, если, +конечно, сервер предоставит им соответствующую информацию.

-ôÅÐÅÒØ ÐÉÛÅÍ ÓËÒÉÐÔ /etc/dhcp3/dhclient-exit-hooks.d/time. +Теперь пишем скрипт /etc/dhcp3/dhclient-exit-hooks.d/time.

 time_setup () {
@@ -209,40 +209,40 @@ fi
 time_setup
 
-üÔÏÔ ÓËÒÉÐÔ ÒÁÂÏÔÁÅÔ ÓÌÅÄÕÀÝÉÍ ÏÂÒÁÚÏÍ: ÏÓÎÏ×ÎÕÀ ÒÁÂÏÔÕ ÄÅÌÁÅÔ ÆÕÎËÃÉÑ time_setup, ËÏÔÏÒÁÑ ÚÁ×ÅÒÛÁÅÔÓÑ ËÏÍÁÎÄÏÊ return, ÅÓÌÉ ÐÒÉÞÉÎÁ ×ÙÚÏ×Á ÓËÒÉÐÔÁ -(ÓÏÄÅÒÖÁÝÁÑÓÑ × ÐÅÒÅÍÅÎÎÏÊ reason) ÎÅ ÓÏÏÔ×ÅÔÓÔ×ÕÅÔ ÏÄÎÏÊ ÉÚ ÐÒÉÞÉÎ ÐÏ ËÏÔÏÒÏÊ ÍÏÇÌÉ ÉÚÍÅÎÉÔØÓÑ ÐÅÒÅÄÁ×ÁÅÍÙÅ ÐÏ dhcp ÐÁÒÁÍÅÔÒÙ. +Этот скрипт работает следующим образом: основную работу делает функция time_setup, которая завершается командой return, если причина вызова скрипта +(содержащаяся в переменной reason) не соответствует одной из причин по которой могли измениться передаваемые по dhcp параметры.

-÷ ÓÌÕÞÁÅ ÅÓÌÉ ÒÁÂÏÔÁ ÐÒÏÄÏÌÖÁÅÔÓÑ, ÍÙ ÐÒÏ×ÅÒÑÅÍ ÍÏÖÅÍ ÌÉ ÍÙ ÕÓÔÁÎÏ×ÉÔØ ×ÒÅÍÑ Ó ÐÏÍÏÝØÀ ntp, (ÄÌÑ ÞÅÇÏ ÔÒÅÂÕÅÔÓÑ ÞÔÏÂÙ ÓÅÒ×ÅÒ ÏÔÄÁÌ ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÉÊ ÐÁÒÁÍÅÔÒ, É Õ ÎÁÓ ÂÙ ÐÒÉÓÕÔÓÔ×Ï×ÁÌÁ ÐÒÏÇÒÁÍÍÁ-ËÌÉÅÎÔ, É ÅÓÌÉ ÄÁ, ÔÏ ×ÙÐÏÌÎÑÅÍ ÓÉÎÈÒÏÎÉÚÁÃÉÀ, Á ÅÓÌÉ ÎÅÔ, ÁÎÁÌÏÇÉÞÎÙÍ ÏÂÒÁÚÏÍ ÐÙÔÁÅÍÓÑ ÓÉÎÈÒÏÎÉÚÉÒÏ×ÁÔØÓÑ ÐÏ ÂÏÌÅÅ ÓÔÁÒÏÍÕ ÐÒÏÔÏÔÏËÏÌÕ time. -

ðÁÒÁÍÅÔÒÙ windows networking (aka samba)

-ôÕÔ ÎÉÞÅÇÏ ÎÅ ÔÒÅÂÕÅÔÓÑ ÄÅÌÁÔØ ÒÕËÁÍÉ. åÓÌÉ dhcp-ÓÅÒ×ÅÒ ÏÔÄÁÅÔ ÐÁÒÁÍÅÔÒÙ netbios-name-servers É netbios-scope, ÔÏ × ÐÁËÅÔ samba-common ×ÈÏÄÉÔ ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÉÊ enter-hook, ËÏÔÏÒÙÊ ÉÈ ÐÒÏÐÉÛÅÔ × ËÏÎÆÉÇ samba. çÌÁ×ÎÏÅ ÎÅ ÚÁÂÙÔØ ÐÒÉ ËÏÎÆÉÇÕÒÉÒÏ×ÁÎÉÉ ÜÔÏÇÏ ÐÁËÅÔÁ ÏÔ×ÅÔÉÔØ ÎÁ "äÁ" ÎÁ ×ÏÐÒÏÓ +В случае если работа продолжается, мы проверяем можем ли мы установить время с помощью ntp, (для чего требуется чтобы сервер отдал соответствующий параметр, и у нас бы присутствовала программа-клиент, и если да, то выполняем синхронизацию, а если нет, аналогичным образом пытаемся синхронизироваться по более старому прототоколу time. +

Параметры windows networking (aka samba)

+Тут ничего не требуется делать руками. Если dhcp-сервер отдает параметры netbios-name-servers и netbios-scope, то в пакет samba-common входит соответствующий enter-hook, который их пропишет в конфиг samba. Главное не забыть при конфигурировании этого пакета ответить на "Да" на вопрос "Modify smb.conf to use WINS settings from DHCP"

-ïÞÅ×ÉÄÎÏ, ÞÔÏ × ÓÌÕÞÁÅ dial-up ÓÏÅÄÉÎÅÎÉÑ ÐÁÒÁÍÅÔÒÙ windows-networking ÎÉËÏÍÕ ÎÅÉÎÔÅÒÅÓÎÙ. èÏÔÑ... ÍÅÌËÉÍ ÈÁËÅÒÁÍ ÏÎÉ ÉÎÔÅÒÅÓÎÙ. óËÏÌØËÏ ÒÁÚ ÎÁÂÌÀÄÁÌ ËÁË ÓÔÏÉÔ ÍÎÅ ÕÓÔÁÎÏ×ÉÔØ GPRS-ÓÏÅÄÉÎÅÎÉÅ, ÓÒÁÚÕ ËÏ ÍÎÅ ÎÁ ÍÁÛÉÎÕ ÎÁÞÉÎÁÌÉ ÌÏÍÉÔØÓÑ ÎÁ ÐÏÒÔÙ Samba, MS-SQL É Radmin. ðÏÜÔÏÍÕ, ÅÓÌÉ Õ ×ÁÓ ÎÁ ÎÏÕÔÂÕËÅ ÚÁÐÕÝÅÎ ÓÅÒ×ÅÒ samba, ÎÅ ÐÏÌÅÎÉÔÅÓØ É ÐÒÏÐÉÛÉÔÅ × /etc/ppp/ip_up.d ÓËÒÉÐÔÉË, ËÏÔÏÒÙÊ ÂÕÄÅÔ ÅÇÏ ×ÙËÌÀÞÁÔØ ÐÒÉ ÕÓÔÁÎÏ×ÌÅÎÉÉ GPRS ÉÌÉ ÄÉÁÌÁÐÎÏÇÏ ÓÏÅÄÉÎÅÎÉÑ. ãÅÌÅÅ ÂÕÄÅÔÅ. +Очевидно, что в случае dial-up соединения параметры windows-networking никому неинтересны. Хотя... мелким хакерам они интересны. Сколько раз наблюдал как стоит мне установить GPRS-соединение, сразу ко мне на машину начинали ломиться на порты Samba, MS-SQL и Radmin. Поэтому, если у вас на ноутбуке запущен сервер samba, не поленитесь и пропишите в /etc/ppp/ip_up.d скриптик, который будет его выключать при установлении GPRS или диалапного соединения. Целее будете. -

üÌÅËÔÒÏÎÎÁÑ ÐÏÞÔÁ ÎÁ ÎÏÕÔÂÕËÅ

+

Электронная почта на ноутбуке

-ðÏÎÑÔÎÏ, ÞÔÏ ÐÁÒÁÍÅÔÒÙ ÐÒÏÔÏËÏÌÏ× ÐÒÉÅÍÁ ÐÏÞÔÙ (POP3, IMAP) ÎÅ ÚÁ×ÉÓÑÔ ÏÔ ÍÅÓÔÏÐÏÌÏÖÅÎÉÑ ÎÏÕÔÂÕËÁ. èÏÄÉÔØ ÚÁ ÐÏÞÔÏÊ ×ÓÅÇÄÁ ÎÁÄÏ × Ó×ÏÊ ÐÏÞÔÏ×ÙÊ ÑÝÉË, É ÈÏÒÏÛÏ ÅÓÌÉ ÏÎ ÚÁÐÕÝÅÎ ÐÏ ÓÅÔÉ. ó ÏÔÐÒÁ×ËÏÊ ÐÏÞÔÙ - ÓÌÏÖÎÅÅ. ÷ ÎÁÛÅ ×ÒÅÍÑ × ÂÏÌØÛÉÎÓÔ×Å ÌÏËÁÌØÎÙÈ ÓÅÔÅÊ ÚÁÐÒÅÝÁÀÔ ËÌÉÅÎÔÓËÉÍ ÍÁÛÉÎÁÍ ÈÏÄÉÔØ ÐÏ SMTP ÎÁ ÐÒÏÉÚ×ÏÌØÎÙÊ ÈÏÓÔ × ÉÎÔÅÒÎÅÔÅ, ÞÔÏÂÙ ÏÇÒÁÎÉÞÉÔØ ÒÁÓÐÒÏÓÔÒÁÎÅÎÉÅ ×ÉÒÕÓÏ× É ÓÐÁÍÍÅÒÓËÉÈ ÔÒÏÑÎÏ×. ó ÄÒÕÇÏÊ ÓÔÏÒÏÎÙ ÂÏÌØÛÉÎÓÔ×Ï ÐÏÞÔÏ×ÙÈ ÓÅÒ×ÅÒÏ× ÎÅ ÐÕÓËÁÀÔ ËÌÉÅÎÔÏ× Ó ÐÒÏÉÚ×ÏÌØÎÙÈ IP-ÁÄÒÅÓÏ×. +Понятно, что параметры протоколов приема почты (POP3, IMAP) не зависят от местоположения ноутбука. Ходить за почтой всегда надо в свой почтовый ящик, и хорошо если он запущен по сети. С отправкой почты - сложнее. В наше время в большинстве локальных сетей запрещают клиентским машинам ходить по SMTP на произвольный хост в интернете, чтобы ограничить распространение вирусов и спаммерских троянов. С другой стороны большинство почтовых серверов не пускают клиентов с произвольных IP-адресов.

-÷ ÐÒÉÎÃÉÐÅ, dhcp-ÐÒÏÔÏËÏÌ ÓÏÄÅÒÖÉÔ ÏÐÃÉÀ smtp-servers, É ×ÐÏÌÎÅ ÍÏÖÎÏ ÎÁÐÉÓÁÔØ ÁÎÁÌÏÇÉÞÎÙÊ enter-hook, ËÏÔÏÒÙÊ, ÐÏÌÕÞÉ× ÜÔÕ ÏÐÃÉÀ, ÂÕÄÅÔ ÐÒÏÐÉÓÙ×ÁÔØ Å£ × ËÁÞÅÓÔ×Å ÒÅÌÅÑ ÐÏ ÕÍÏÌÞÁÎÉÀ ÄÌÑ ÌÏËÁÌØÎÏÇÏ MTA. åÓÔÅÓÔ×ÅÎÎÏ, ÓËÒÉÐÔ ÜÔÏÔ ÂÕÄÅÔ ÓÐÅÃÉÆÉÞÅÎ ÄÌÑ ËÁÖÄÏÇÏ MTA. +В принципе, dhcp-протокол содержит опцию smtp-servers, и вполне можно написать аналогичный enter-hook, который, получив эту опцию, будет прописывать её в качестве релея по умолчанию для локального MTA. Естественно, скрипт этот будет специфичен для каждого MTA.

-ëÒÏÍÅ ÔÏÇÏ, ÐÏÔÒÅÂÕÅÔÓÑ ÐÒÉÄÕÍÁÔØ ÞÔÏ ÄÅÌÁÔØ × ÓÌÕÞÁÅ dialup É gprs ÓÏÅÄÉÎÅÎÉÊ. õ ÂÏÌØÛÉÎÓÔ×Á ÓÏÔÏ×ÙÈ ÏÐÅÒÁÔÏÒÏ× ÅÓÔØ Ó×ÏÉ smtp-ÓÅÒ×ÅÒÁ, ÐÒÉÎÉÍÁÀÝÉÅ ÐÏÞÔÕ Ó GPRS-ÁÄÒÅÓÏ×. ôÅÍ ÂÏÌÅÅ ÏÎÉ ÅÓÔØ É Õ ÄÉÁÌÁÐÎÙÈ ÐÒÏ×ÁÊÄÅÒÏ×. -îÏ ÐÒÏÔÏËÏÌ PPP ÜÔÏÊ ÉÎÆÏÒÍÁÃÉÉ ÎÅ ÐÒÅÄÏÓÔÁ×ÌÑÅÔ. +Кроме того, потребуется придумать что делать в случае dialup и gprs соединений. У большинства сотовых операторов есть свои smtp-сервера, принимающие почту с GPRS-адресов. Тем более они есть и у диалапных провайдеров. +Но протокол PPP этой информации не предоставляет.

-ëÒÏÍÅ ÔÏÇÏ ÉÓÐÏÌØÚÏ×ÁÎÉÅ ÐÒÏÔÏËÏÌÏ× POP3, IMAP É SMTP ÐÏ ÎÅÎÁÄÅÖÎÙÍ É ÍÅÄÌÅÎÎÙÍ dialup É gprs ÌÉÎËÁÍ ÞÒÅ×ÁÔÏ ÍÎÏÇÏËÒÁÔÎÙÍÉ ÐÅÒÅÄÁÞÁÍÉ ÏÄÎÏÇÏ É ÔÏÇÏ ÖÅ ÐÉÓØÍÁ - ×ÅÄØ ÜÔÉ ÐÒÏÔÏËÏÌÙ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÀÔ ÄÏËÁÞËÕ. +Кроме того использование протоколов POP3, IMAP и SMTP по ненадежным и медленным dialup и gprs линкам чревато многократными передачами одного и того же письма - ведь эти протоколы не поддерживают докачку.

-ðÏÜÔÏÍÕ Ñ ÐÏÛÅÌ ÐÏ ÄÒÕÇÏÍÕ ÐÕÔÉ É ÎÁÓÔÒÏÉÌ × ËÁÞÅÓÔ×Å ÄÅÆÏÌÔÎÏÇÏ ÐÏÞÔÏ×ÏÇÏ ÔÒÁÎÓÐÏÒÔÁ ÓÔÁÒÕÀ ÄÏÂÒÕÀ UUCP, ËÏÔÏÒÁÑ ÐÒÅËÒÁÓÎÏ ÒÁÂÏÔÁÅÔ over tcp. ðÒÏÔÏËÏÌ uucp ÐÒÅÄÕÓÍÁÔÒÉ×ÁÅÔ Á×ÔÏÒÉÚÁÃÉÀ, ÐÏÜÔÏÍÕ ÐÒÏÂÌÅÍ Ó ÔÅÍ ËÏÇÏ ÐÕÓËÁÔØ ÎÁ Ó×ÏÊ uucp-ÓÅÒ×ÅÒ, Á ËÏÇÏ ÎÅÔ - ÎÅÔ. ïÐÑÔØ ÖÅ ÅÓÔØ ÄÏËÁÞËÁ. ìÕÞÛÅ, ËÏÎÅÞÎÏ, ÎÁ ×ÓÑËÉÊ ÐÏÖÁÒÎÙÊ ÓÌÕÞÁÊ ÇÏÎÑÔØ uucp-ÔÒÁÆÆÉË ÞÅÒÅÚ ssl, ÎÁÐÒÉÍÅÒ Ó ÉÓÐÏÌØÚÏ×ÁÎÉÅÍ stunnel. +Поэтому я пошел по другому пути и настроил в качестве дефолтного почтового транспорта старую добрую UUCP, которая прекрасно работает over tcp. Протокол uucp предусматривает авторизацию, поэтому проблем с тем кого пускать на свой uucp-сервер, а кого нет - нет. Опять же есть докачка. Лучше, конечно, на всякий пожарный случай гонять uucp-траффик через ssl, например с использованием stunnel.

-äÌÑ ×ÙÐÏÌÎÅÎÉÑ ÏÂÍÅÎÁ ÐÏ uucp Ñ ÉÓÐÏÌØÚÕÀ ÓÌÅÄÕÀÝÉÊ ÓËÒÉÐÔ: +Для выполнения обмена по uucp я использую следующий скрипт:

 #!/bin/sh
 if /sbin/route -n |grep -q "^0.0.0.0"; then
   /usr/sbin/uucico -s wagner
 fi  
 
-ïÎ ÚÁÐÕÓËÁÅÔÓÑ ÐÏ ËÒÏÎÕ ÒÁÚ × ÎÅÓËÏÌØËÏ ÍÉÎÕÔ, ÐÒÏ×ÅÒÑÅÔ ÎÁÌÉÞÉÅ route × ÉÎÔÅÒÎÅÔ, É ÅÓÌÉ ÔÁËÏ×ÁÑ ÉÍÅÅÔÓÑ, ÔÏ ×ÙÐÏÌÎÑÅÔ ÏÂÍÅÎ Ó ÓÉÓÔÅÍÏÊ wagner (ÍÏÅÊ ÄÏÍÁÛÎÅÊ ÍÁÛÉÎÏÊ). +Он запускается по крону раз в несколько минут, проверяет наличие route в интернет, и если таковая имеется, то выполняет обмен с системой wagner (моей домашней машиной).

-ëÒÏÍÅ ÔÏÇÏ, uucico ÚÁÐÕÓËÁÅÔÓÑ ÉÚ /etc/ppp/ip-up.d, ÐÏÓËÏÌØËÕ ÎÅÉÚ×ÅÓÔÎÏ ÄÏÖÉ×ÅÔ ÌÉ ÄÏÒÏÇÏÅ É ÎÅÓÔÏÊËÏÅ ÄÉÁÌÁÐÎÏÅ ÓÏÅÄÉÎÅÎÉÅ ÄÏ ÓÌÅÄÕÀÝÅÇÏ ÚÁÐÕÓËÁ ÜÔÏÇÏ ÓËÒÉÐÔÁ ÐÏ ËÒÏÎÕ. á ÄÌÑ ÏÞÅÎØ ÄÏÒÏÇÉÈ ËÁÎÁÌÏ× (ÎÁÐÒÉÍÅÒ ÐÒÉ ÄÏÚ×ÏÎÅ ÐÏ ÓÏÔÏ×ÏÍÕ ÔÅÌÅÆÏÎÕ ÎÁ IP-ÇÅÊÔ ÐÒÏ×ÁÊÄÅÒÁ, ËÏÇÄÁ ÃÅÎÁ ÍÉÎÕÔÙ ÓÒÁ×ÎÉÍÁ Ó ÃÅÎÏÊ ÇÏÌÏÓÏ×ÏÇÏ ÒÁÚÇÏ×ÏÒÁ, Á ÓËÏÒÏÓÔØ 9600), Õ ÍÅÎÑ ÅÓÔØ expect-Ï×ÓËÉÊ ÓËÒÉÐÔ, ËÏÔÏÒÙÊ ÚÁÐÕÓËÅÔ ppp, ÍÏÎÉÔÏÒÉÔ ×Ù×ÏÄ ËÏÍÁÎÄÙ uulog, É ÏÂÎÁÒÕÖÉ× × ÌÏÇÅ uucp ÓÌÏ×Á "Call complete" ÎÅÍÅÄÌÅÎÎÏ ÒÁÚÒÙ×ÁÅÔ Ó×ÑÚØ: +Кроме того, uucico запускается из /etc/ppp/ip-up.d, поскольку неизвестно доживет ли дорогое и нестойкое диалапное соединение до следующего запуска этого скрипта по крону. А для очень дорогих каналов (например при дозвоне по сотовому телефону на IP-гейт провайдера, когда цена минуты сравнима с ценой голосового разговора, а скорость 9600), у меня есть expect-овский скрипт, который запускет ppp, мониторит вывод команды uulog, и обнаружив в логе uucp слова "Call complete" немедленно разрывает связь:

 #!/usr/bin/expect
 
@@ -270,18 +270,18 @@ expect {
 
 

-òÁÂÏÔÁ ÞÅÒÅÚ UUCP ÐÏ ÍÅÄÌÅÎÎÙÍ ËÁÎÁÌÁÍ (GPRS, dialup) ÉÍÅÅÔ ÔÅ ÐÒÅÉÍÕÝÅÓÔ×Á ÞÔÏ +Работа через UUCP по медленным каналам (GPRS, dialup) имеет те преимущества что

-îÏ ÅÓÔØ É ÂÏÌØÛÏÊ ÎÅÄÏÓÔÁÔÏË - ÎÕÖÎÏ ÉÍÅÔØ ÐÒÉÒÕÞÅÎÎÙÊ ÐÏÞÔÏ×ÙÊ ÓÅÒ×ÅÒ, ÎÁ ËÏÔÏÒÏÍ ×Ù (ÉÌÉ ÅÇÏ ÁÄÍÉÎÉÓÔÒÁÔÏÒ) ÓÍÏÖÅÔÅ ÎÁÓÔÒÏÉÔØ uucp-over-tcp ÓÅÒ×ÅÒ. ïÂÙÞÎÙÅ ÐÒÏ×ÁÊÄÅÒÙ ÔÁËÉÈ ÕÓÌÕÇ ÎÅ ÐÒÅÄÏÓÔÁ×ÌÑÀÔ. -

îÁÓÔÒÏÊËÁ ÓÉÓÔÅÍÙ ÐÅÞÁÔÉ

-÷ ÐÒÏÔÏËÏÌÅ dhcp ÐÒÅÄÕÓÍÏÔÒÅÎ ÐÁÒÁÍÅÔÒ lpr-servers, ÎÏ ÎÉËÏÇÄÁ ÎÅ ÐÙÔÁÌÓÑ ÅÇÏ ÉÓÐÏÌØÚÏ×ÁÔØ. ðÒÏÝÅ ÓÄÅÌÁÔØ +Но есть и большой недостаток - нужно иметь прирученный почтовый сервер, на котором вы (или его администратор) сможете настроить uucp-over-tcp сервер. Обычные провайдеры таких услуг не предоставляют. +

Настройка системы печати

+В протоколе dhcp предусмотрен параметр lpr-servers, но никогда не пытался его использовать. Проще сделать
-cat ÆÁÊÌ-ÄÌÑ-ÐÅÞÁÔÉ|ssh ÓÏÓÅÄÎÑÑ-ÄÅÓËÔÏÐÎÁÑ-ÍÁÛÉÎÁ lpr  
+cat файл-для-печати|ssh соседняя-десктопная-машина lpr  
 
-á × ÓÌÕÞÁÅ ÉÓÐÏÌØÚÏ×ÁÎÉÑ cups ×ÏÏÂÝÅ ÍÏÖÎÏ ÕËÁÚÙ×ÁÔØ URL ÓÅÒ×ÅÒÁ ÐÅÞÁÔÉ É ÐÅÞÁÔÁÔØ ÐÏ ÐÒÏÔÏËÏÌÕ ipp. +А в случае использования cups вообще можно указывать URL сервера печати и печатать по протоколу ipp.