Глава 12. Работа в сети
Пред. |  | След.

## Глава 12. Работа в сети

12.1. Где можно найти информацию о «бездисковой загрузке»?
12.2. Может ли машина с FreeBSD использоваться как маршрутизатор?
12.3. Можно ли подключить машину с Windows® к Internet с помощью FreeBSD?
12.4. Поддерживает ли FreeBSD протоколы SLIP и PPP?
12.5. Поддерживает ли FreeBSD технологию NAT или Masquerading?
12.6. Как я могу соединить две FreeBSD системы с помощью параллельного соединения, используя PLIP?
12.7. Как настроить алиас в сети Ethernet?
12.8. Как заставить адаптер 3C503 использовать другой тип сетевого разъёма?
12.9. У меня проблемы при работе NFS во FreeBSD.
12.10. Почему я не могу смонтировать диск Linux® по NFS?
12.11. Почему я не могу смонтировать диск Sun™ по NFS?
12.12. Почему mountd продолжает выдавать сообщения can't change attributes и bad exports list на моём сервере NFS, работающем под управлением FreeBSD?
12.13. Проблемы при связи по PPP с машинами NeXTStep.
12.14. Как включить поддержку multicast IP?
12.15. Какие сетевые адаптеры сделаны на наборе микросхем DEC PCI?
12.16. Почему я должен использовать FQDN для хостов не в моей сети?
12.17. Permission denied для любых действий, связанных с работой сети.
12.18. Почему моё правило «fwd» для ipfw по перенаправлению сервиса на другую машину не работает?
12.19. Как можно перенаправить запросы с одной машины на другую?
12.20. Где можно найти средства управления сетевым трафиком?
12.21. Почему появляются сообщения /dev/bpf0: device not configured?
12.22. Как смонтировать диск Windows®-машины в моей локальной сети, как это делает smbmount в Linux®?
12.23. Что значат эти сообщения: Limiting icmp/open port/closed port response в моих журнальных файлах?
12.24. Что это за сообщения arp: unknown hardware address format?
12.25. Почему я постоянно вижу сообщения вида 192.168.0.10 is on fxp1 but got reply from 00:15:17:67:cf:82 on rl0 и как мне их отключить?
12.26. Я только что установил CVSup, но при попытке его запустить получил сообщения об ошибках. Что не так?

12.1. | Где можно найти информацию о «бездисковой загрузке»?
| «Бездисковая загрузка» означает, что машина с FreeBSD загружается по сети и читает необходимые файлы с сервера, а не со своего диска. Подробное описание есть в соответствующей главе Руководства.
12.2. | Может ли машина с FreeBSD использоваться как маршрутизатор?
| Да. Пожалуйста, обратитесь к разделу Руководства, посвящённому сложным вопросам работы в сети, особенно в той части, что касается маршрутизации и маршрутизаторов.
12.3. | Можно ли подключить машину с Windows® к Internet с помощью FreeBSD?

Как правило, те, кто задают такие вопросы, имеют дома два компьютера, один с FreeBSD, а другой с какой-то версией Windows®. Идея состоит в использовании FreeBSD для подключения к Internet, а затем осуществлять выход в Internet из Windows® через FreeBSD. На самом деле это просто частный случай предыдущего вопроса, который хорошо отработан.

Если для подключения к Internet вы используете коммутируемое соединение, то ppp(8) режима пользователя имеет параметр `-nat`. Если вы запустите ppp(8) с параметром `-nat`, установив в файле `/etc/rc.conf` переменную `gateway_enable` в значение YES и правильно настроите машину с Windows®, то всё должно прекрасно заработать. Для получения дополнительной информации, пожалуйста, обратитесь к страницам справочной системы по команде ppp(8) или разделу Руководства о PPP режима пользователя.

Если вы используете PPP режима ядра, или у вас Ethernet-подключение к Internet, то нужно использовать natd(8). Пожалуйста, обратитесь к разделу о natd Руководства для получения вводной информации.

12.4. | Поддерживает ли FreeBSD протоколы SLIP и PPP?

Да. Обратитесь к страницам справочника по командам slattach(8), sliplogin(8), ppp(8), и pppd(8). ppp(8) и pppd(8) могут обслуживать как входящие, так и исходящие соединения, когда как sliplogin(8) имеет дело исключительно со входящими соединениям, а slattach(8) только с исходящими.

Более подробная информация об их использовании находится в разделе Руководства о протоколах PPP и SLIP.

Если вы имеете доступ в Internet только через командную строку оболочки, вам может подойти пакадж `net/slirp`. С его помощью можно получить (ограниченный) доступ к таким службам, как FTP и http прямо с вашей машины.

12.5. | Поддерживает ли FreeBSD технологию NAT или Masquerading?
| Да. Если вы собираетесь использовать NAT с пользовательским соединением PPP, пожалуйста, обратитесь к разделу Руководства о пользовательском PPP. Если же вы хотите использовать NAT вместе с другим типом сетевого подключения, пожалуйста, взгляните на раздел о natd Руководства.
12.6. | Как я могу соединить две FreeBSD системы с помощью параллельного соединения, используя PLIP?
| Пожалуйста, обратитесь к разделу Руководства о PLIP.
12.7. | Как настроить алиас в сети Ethernet?

Если алиас находится в той же самой сети, что и уже настроенный на интерфейсе адрес, то к команде для ifconfig(8) допишите `netmask 0xffffffff` примерно следующим образом:

`#` `ifconfig `ed0` alias `192.0.2.2` netmask 0xffffffff`

В противном случае просто задайте сетевой адрес и маску обычным образом:

`#` `ifconfig `ed0` alias `172.16.141.5` netmask 0xffffff00`

Для получения подробной информации обращайтесь к Руководству FreeBSD.

12.8. | Как заставить адаптер 3C503 использовать другой тип сетевого разъёма?
| Если вы хотите задействовать другой разъём, то должны указать дополнительный параметр при вызове команды ifconfig(8). Разъёмом по умолчанию является `link0`. Чтобы задействовать разъём AUI, а не BNC, используйте `link2`. Эти флаги должны быть указаны с помощью переменных ifconfig_* в файле `/etc/rc.conf` (посмотрите справку по rc.conf(5)).
12.9. | У меня проблемы при работе NFS во FreeBSD.
| Некоторые сетевые адаптеры работают (мягко говоря) хуже, чем другие, что может иногда вызывать проблемы при работе приложений типа NFS, интенсивно использующих сеть. Подробности описаны в соответствующей главе Руководства, посвящённой NFS.
12.10. | Почему я не могу смонтировать диск Linux® по NFS?
| Некоторые версии NFS для Linux® поддерживают запросы на монтирование только с привилегированного порта; попробуйте выполнить следующую команду: `#` `mount -o -P `linuxbox:/blah` `/mnt``
12.11. | Почему я не могу смонтировать диск Sun™ по NFS?
| Рабочие станции Sun™ под управлением SunOS™ 4.`X` поддерживают запросы на монтирование только с привилегированного порта; попробуйте следующую команду: `#` `mount -o -P `sunbox:/blah` `/mnt``
12.12. | Почему `mountd` продолжает выдавать сообщения can't change attributes и bad exports list на моём сервере NFS, работающем под управлением FreeBSD?
| В большинстве случаев проблема заключается в недостаточном понимании корректного формата файла `/etc/exports`. Пожалуйста, просмотрите ещё раз справочную информацию по exports(5) и раздел об NFS в Руководстве, особенно в части настройки NFS.
12.13. | Проблемы при связи по PPP с машинами NeXTStep.
| Попробуйте отменить все расширения TCP в файле `/etc/rc.conf` (посмотрите справку по rc.conf(5)), изменив значение следующей переменной в `NO`: tcp_extensions=NO Маршрутизаторы Annex фирмы Xylogic не работают по этой же причине, поэтому при подключении к ним вам нужно проделать то же самое.
12.14. | Как включить поддержку multicast IP?

По умолчанию FreeBSD поддерживает работу с многоадресного сетевого вещания. Если вы хотите использовать ваш компьютер как маршрутизатор многоадресного трафика, вам нужно перекомпилировать ядро с включенной опцией `MROUTING` и запустить mrouted(8). Во FreeBSD во время загрузки будет запускаться mrouted(8), если переменная `mrouted_enable` в файле `/etc/rc.conf` установлена в значение `YES`.

### Примечание:

В последних версиях FreeBSD даемон маршрутизации multicast mrouted(8) и утилиты map-mbone(8) и mrinfo(8) удалены из состава основной системы. Эти программы теперь доступны из Коллекции Портов FreeBSD в виде порта `net/mrouted`.

Приложения MBONE находятся в собственной категории портов, mbone. Если вы ищете приложения для организации конференций `vic` и `vat`, посмотрите там!

12.15. | Какие сетевые адаптеры сделаны на наборе микросхем DEC PCI?

Вот список, составленный Гленом Фостером (Glen Foster) `<gfoster@driver.nsta.org>`, с некоторыми незначительными добавлениями:

Таблица 12.1. Сетевые карты созданные на основе наборе микросхем DEC PCI

Производитель | Модель
--- | ---
ASUS | PCI-L101-TB
Accton | ENI1203
Cogent | EM960PCI
Compex | ENET32-PCI
D-Link | DE-530
Dayna | DP1203, DP2100
DEC | DE435, DE450
Danpex | EN-9400P3
JCIS | Condor JC1260
Linksys | EtherPCI
Mylex | LNP101
SMC | EtherPower 10/100 (Модель 9332)
SMC | EtherPower (Модель 8432)
TopWare | TE-3500P
Znyx (2.2.x) | ZX312, ZX314, ZX342, ZX345, ZX346, ZX348
Znyx (3.x) | ZX345Q, ZX346Q, ZX348Q, ZX412Q, ZX414, ZX442, ZX444, ZX474, ZX478, ZX212, ZX214 (10mbps/hd)

12.16. | Почему я должен использовать FQDN для хостов не в моей сети?
| За ответом на этот вопрос обращайтесь к Руководству FreeBSD.
12.17. | Permission denied для любых действий, связанных с работой сети.

Если вы компилировали ядро с опцией `IPFIREWALL`, имейте в виду, что политикой по умолчанию является запрет прохождения всех пакетов, которые явно не разрешены.

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

`#` `ipfw add 65534 allow all from any to any`

Также вы можете задать `firewall_type='open'` в файле `/etc/rc.conf`.

Более подробная информация о конфигурировании межсетевого экрана в FreeBSD находится в соответствующей главе Руководства.

12.18. | Почему моё правило «fwd» для `ipfw` по перенаправлению сервиса на другую машину не работает?

Возможно, потому что вы хотите выполнять трансляцию сетевых адресов (NAT), а не просто перенаправлять пакеты. Правило «fwd» делает точно то, что означает; оно перенаправляет пакеты. Данные внутри пакета оно не меняет. Пусть, скажем, у нас имеется правило такого вида:

01000 fwd `10.0.0.1` from any to `foo 21`

Когда пакет с адресом назначения `foo` достигает машины с этим правилом, то он перенаправляется на `10.0.0.1`, но в нём остаётся адрес назначения `foo`! Адрес назначения пакета не меняется на `10.0.0.1`. Большинство машин, скорее всего, отбросят полученный пакет, имеющий адрес назначения, им не соответствующий. Таким образом, правило «fwd» не часто работает так, как ожидает пользователь. Такое поведение является особенностью, а не ошибкой.

Обратитесь к FAQ о перенаправлении сервисов, руководству по natd(8) или одной из нескольких утилит для перенаправления из Коллекции Портов для того, чтобы сделать это правильно.

12.19. | Как можно перенаправить запросы с одной машины на другую?
| Вы можете перенаправить запрос на FTP (или другой сервис) с помощью порта `sysutils/socket`. Просто замените командную строку запуска сервиса на вызов `socket`: ftp stream tcp nowait nobody /usr/local/bin/socket socket `ftp.example.com` `ftp` где `ftp.example.com` и `ftp` являются соответственно хостом и портом для перенаправления.
12.20. | Где можно найти средства управления сетевым трафиком?
| Для FreeBSD имеются три средства управления трафиком. dummynet(4) интегрирован в систему FreeBSD как составная часть ipfw(4). ALTQ включен во FreeBSD как составная часть pf(4). Bandwidth Manager компании Emerging Technologies является коммерческим продуктом.
12.21. | Почему появляются сообщения /dev/bpf0: device not configured?
| Вы запускаете программу, которой требуется Berkeley Packet Filter (bpf(4)), однако его нет в вашем ядре. Перекомпилируйте ядро, добавив в его конфигурационный файл следующую строку: device bpf # Berkeley Packet Filter
12.22. | Как смонтировать диск Windows®-машины в моей локальной сети, как это делает smbmount в Linux®?
| Используйте пакет SMBFS. В него включён набор изменений в ядре и пользовательские программы. Программы и информация доступны как mount_smbfs(8) и входят в состав базовой системы.
12.23. | Что значат эти сообщения: Limiting icmp/open port/closed port response в моих журнальных файлах?

Это ядро сообщает вам, что имела место некоторая активность, приводящая к посылке большего количества ответных пакетов ICMP или сбросов TCP (RST), чем, как предполагается, это следует делать. Ответы ICMP часто генерируются в результате попыток подключения к незанятым портам UDP. Сбросы TCP генерируются в результате попыток подключения к закрытым портам TCP. Кроме всяких прочих, такие сообщения могут быть вызваны следующими действиями:

- Лобовая атака типа отказ в обслуживании DoS (в отличие от атак в один пакет, которые используют конкретную брешь в защите).

- Сканирование портов в попытке осуществить подключение к большому количеству портов (в отличие от проб нескольких известных портов).

Первое число в сообщении указывает вам, какое количество пакетов ядро посылало бы при отсутствии ограничений, а второе число указывает лимит. Вы можете управлять этим ограничением при помощи системной переменной `net.inet.icmp.icmplim` приводимым ниже способом, где `300` является ограничением на количество посылаемых пакетов в секунду:

`#` `sysctl -w net.inet.icmp.icmplim=300`

Если вы не хотите видеть подобные сообщения в журнальных файлах, но хотите использовать это ограничение в ядре, то можете использовать системную переменную `net.inet.icmp.icmplim_output` для подавления вывода, как это показано здесь:

`#` `sysctl -w net.inet.icmp.icmplim_output=0`

И наконец, если вы хотите выключить это ограничение, то можете установить значение системной переменной `net.inet.icmp.icmplim` (смотрите пример выше) равным `0`. Выключение этого лимита не приветствуется по причинам, перечисленным выше.

12.24. | Что это за сообщения arp: unknown hardware address format?
| Это означает, что какое-то устройство в вашей локальной сети использует MAC-адрес в формате, не распознаваемом FreeBSD. Скорее всего, это происходит из-за того, что кто-то в сети экспериментирует с сетевым адаптером. Чаще всего это происходит в сетях с кабельными модемами. Это безобидно и не должно влиять на производительность машины с FreeBSD.
12.25. | Почему я постоянно вижу сообщения вида 192.168.0.10 is on fxp1 but got reply from 00:15:17:67:cf:82 on rl0 и как мне их отключить?
| Это так, потому что пакет приходит извне сети, чего не должно быть. Чтобы отключить эти сообщения, установите `net.link.ether.inet.log_arp_wrong_iface` в значение `0`.
12.26. | Я только что установил CVSup, но при попытке его запустить получил сообщения об ошибках. Что не так?

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

/usr/libexec/ld-elf.so.1: Shared object "libXaw.so.6" not found

Ошибки, подобные этой, возникают при установке порта `net/cvsup` на машину без пакета Xorg. Если вы хотите использовать GUI, имеющийся в CVSup, то вам нужно теперь установить Xorg. Либо, если вы хотите использовать CVSup только из командной строки, то вы должны удалить ранее установленный пакадж. Затем установите порт `net/cvsup-without-gui` или `net/csup`. Если у вас установлена одна из последних версий FreeBSD, то вы можете использовать csup(1). Более подробно это описано в разделе о CVSup Руководства.

Пред. |  | След.
Глава 11. X Window System и виртуальные консоли | Начало | Глава 13. Безопасность

Этот, и другие документы, могут быть скачаны с http://ftp.FreeBSD.org/pub/FreeBSD/doc/.

По вопросам, связанным с FreeBSD, прочитайте документацию прежде чем писать в <questions@FreeBSD.org>.
По вопросам, связанным с этой документацией, пишите в рассылку <doc@FreeBSD.org>.