Чтение онлайн

на главную - закладки

Жанры

Внутреннее устройство Linux
Шрифт:

TX packets:68347795 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:86427623613 (86.4 GB) TX bytes:23437688605 (23.4 GB)

Interrupt:20 Memory:fe500000-fe520000

Для каждого сетевого интерфейса в левой части вывода отображается имя интерфейса, а правая часть содержит параметры и статистические данные об этом интерфейсе. В дополнение к уже рассмотренным нами частям интернет-уровня можно увидеть MAC-адрес на физическом уровне (HWaddr). Строки, которые содержат слова UP и RUNNING, сообщают о том, что такой интерфейс работает.

Хотя

команда ifconfig и показывает некоторую информацию об аппаратном средстве (в данном случае даже параметры низкоуровневого устройства, такие как прерывание и использованная память), она предназначена в основном для просмотра и конфигурирования программных уровней, присоединенных к интерфейсам. Чтобы проникнуть вглубь аппаратного и физического уровней, стоящих за сетевым интерфейсом, используйте что-либо вроде команды ethtool для отображения или изменения параметров карт Ethernet. Мы кратко рассмотрим беспроводные сети в разделе 9.23.

9.8. Введение в конфигурирование сетевого интерфейса

Теперь вы узнали обо всех основных элементах, которые входят в нижние уровни сетевого стека: физический уровень, сетевой (интернет-) уровень и сетевые интерфейсы ядра Linux. Чтобы объединить эти части в целях подключения компьютера с Linux к Интернету, вам или какому-либо ПО необходимо выполнить следующее.

1. Подключить сетевое оборудование и убедиться в том, что у ядра есть драйверы для него. Если драйвер есть, то команда ifconfig -a отобразит сетевой интерфейс ядра, соответствующий этому аппаратному средству.

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

3. Связать IP-адрес и маску сети с сетевым интерфейсом ядра, чтобы драйверы устройства (физический уровень) и подсистемы Интернета (интернет-уровень) могли общаться друг с другом.

4. Добавить дополнительные необходимые маршруты, включая шлюз по умолчанию.

Когда все компьютеры были большими стационарными ящиками, соединенными с помощью проводов, все было сравнительно просто: ядро выполняло первый шаг, второй шаг не требовался и вам следовало выполнить третий шаг с помощью команды ifconfig и четвертый шаг с помощью команды route.

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

# ifconfig interface address netmask mask

Здесь параметр interface является именем интерфейса, таким как eth0. Когда интерфейс заработает, вам следует быть готовыми к добавлению маршрутов, что, как правило, сводится к указанию шлюза по умолчанию, например, так:

# route add default gw gw-address

Параметр gw-address является IP-адресом вашего шлюза по умолчанию; он должен быть адресом в локально подключенной подсети, определенной адресом и маской одного из сетевых интерфейсов.

Добавление и удаление маршрутов вручную. Чтобы удалить шлюз по умолчанию,

запустите команду:

# route del -net default

Можно легко переопределить шлюз по умолчанию с помощью других маршрутов. Допустим, ваш компьютер находится в подсети 10.23.2.0/24, вы желаете попасть в подсеть 192.168.45.0/24 и знаете о том, что адрес 10.23.2.44 может выступать в роли маршрутизатора для этой подсети. Запустите такую команду, чтобы отправить трафик, связанный с адресом 192.168.45.0 на этот маршрутизатор:

# route add -net 192.168.45.0/24 gw 10.23.2.44

Нет необходимости указывать маршрутизатор, чтобы удалить маршрут:

# route del -net 192.168.45.0/24

Вам следует знать о том, что работа с маршрутами зачастую намного сложнее, чем кажется. Для приведенного примера следует также убедиться в том, что маршруты для всех хостов сети 192.163.45.0/24 могут привести обратно в сеть 10.23.2.0/24, а иначе первый добавленный вами маршрут окажется бесполезным.

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

9.9. Конфигурация сети, активизируемая при загрузке системы

Мы рассмотрели способы ручной настройки сети. Традиционно для обеспечения правильной сетевой конфигурации компьютера требовалось, чтобы во время загрузки системы запускался сценарий ручной конфигурации. Это сводится к запу­ску таких инструментов, как ifconfig и route, где-либо среди последовательности событий загрузки. Многие серверы до сих пор поступают подобным образом.

Предпринимались многие попытки стандартизировать файлы конфигурации для настройки сети во время загрузки системы Linux. Инструменты ifup и ifdown выполняют это: например, сценарий загрузки может (теоретически) запустить команду ifup eth0, чтобы запустить корректные команды ifconfig и route для интерфейса eth0. К сожалению, в разных версиях системы различная реализация команд ifup и ifdown, в результате чего их файлы конфигурации также совершенно различны. Версия Ubuntu, например, использует вариант ifupdown, файлы конфигурации которого расположены в каталоге /etc/network, а версия Fedora пользуется собственным набором сценариев и конфигурацией в каталоге /etc/sysconfig/network-scripts.

Вам не обязательно знать подробности об этих файлах конфигурации, но, если вы настаиваете на ручной настройке в обход инструментов конфигурации вашей системы, можно посмотреть формат этих файлов на страницах руководства ifup(8) и interfaces(5). Важно знать о том, что этот тип конфигурации, активизируемой во время загрузки, часто не используется совсем. Чаще всего вы будете встречать его в сетевом интерфейсе локальных хостов (или lo, см. раздел 9.13) и более нигде, поскольку он недостаточно гибок, чтобы отвечать потребностям современных систем.

Поделиться:
Популярные книги

Неучтенный. Дилогия

Муравьёв Константин Николаевич
Неучтенный
Фантастика:
боевая фантастика
попаданцы
7.98
рейтинг книги
Неучтенный. Дилогия

Бракованная невеста. Академия драконов

Милославская Анастасия
Фантастика:
фэнтези
сказочная фантастика
5.00
рейтинг книги
Бракованная невеста. Академия драконов

Неудержимый. Книга XVIII

Боярский Андрей
18. Неудержимый
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Неудержимый. Книга XVIII

Жена со скидкой, или Случайный брак

Ардова Алиса
Любовные романы:
любовно-фантастические романы
8.15
рейтинг книги
Жена со скидкой, или Случайный брак

Шаман. Похищенные

Калбазов Константин Георгиевич
1. Шаман
Фантастика:
боевая фантастика
попаданцы
6.44
рейтинг книги
Шаман. Похищенные

Совок

Агарев Вадим
1. Совок
Фантастика:
фэнтези
детективная фантастика
попаданцы
8.13
рейтинг книги
Совок

Убивать чтобы жить 3

Бор Жорж
3. УЧЖ
Фантастика:
героическая фантастика
боевая фантастика
рпг
5.00
рейтинг книги
Убивать чтобы жить 3

Леди Малиновой пустоши

Шах Ольга
Любовные романы:
любовно-фантастические романы
6.20
рейтинг книги
Леди Малиновой пустоши

Разбуди меня

Рам Янка
7. Серьёзные мальчики в форме
Любовные романы:
современные любовные романы
остросюжетные любовные романы
5.00
рейтинг книги
Разбуди меня

Камень. Книга вторая

Минин Станислав
2. Камень
Фантастика:
фэнтези
8.52
рейтинг книги
Камень. Книга вторая

Ведьма Вильхельма

Шёпот Светлана
Любовные романы:
любовно-фантастические романы
8.67
рейтинг книги
Ведьма Вильхельма

Герцог и я

Куин Джулия
1. Бриджертоны
Любовные романы:
исторические любовные романы
8.92
рейтинг книги
Герцог и я

Кодекс Охотника. Книга XVII

Винокуров Юрий
17. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Охотника. Книга XVII

Плохая невеста

Шторм Елена
Любовные романы:
любовно-фантастические романы
7.71
рейтинг книги
Плохая невеста