Называется ли он «драйвером устройства», если он не указывает на аппаратное устройство?

В основном SNAT и MASQUERADE делают один и тот же NAT источника в таблице nat в цепочке POSTROUTING.

Различия

  • MASQUERADE не требует --to-source, так как он был создан для работы с динамически назначаемыми IP

  • SNAT работает только со статическими IP, поэтому он имеет --to-source

  • MASQUERADE имеет дополнительные накладные расходы и медленнее, чем SNAT, потому что каждый раз, когда цель MASQUERADE получает пакет, он должен проверить IP-адрес для использования.

NOTE: Типичный случай использования MASQUERADE: Экземпляр AWS EC2 в VPC, у него есть частный IP в пределах VPC CIDR (например, 10.10.1.0/24) - 10.10.1.100, например, у него также есть публичный IP для связи с Интернетом (предположим, он находится в публичной подсети), через который частный IP 1:1 NAT. Публичный IP может измениться после перезагрузки экземпляра (если это НЕ EIP), MASQUERADE является лучшим вариантом в этом случае.

Важно: все еще можно использовать MASQUERADE со статическим IP, просто помните о дополнительных накладных расходах.

Ссылки

0
08.03.2019, 00:22
1 ответ

Ваша модель неверна. Файлы dev предоставляютсяudev(или в старых версиях Linux devfs). Теперь udevявляется частью systemd. Ничего из этого не требуется вообще, можно использовать драйверы с прямым вызовом API (как в Windows ). На самом деле, некоторые системы с ним не строятся.

Создать файл в /dev— это просто функция того, что создано dev. Кассаmount | grep ' /dev '

udev on /dev type devtmpfs (rw,nosuid,relatime,size=8087376k,nr_inodes=2021844,mode=755)
^ See the udev. That's what created the abstraction.

Драйвер существует в ядре. Уровни абстракции предоставляются, поэтому у вас есть файл/io на устройстве. Это соответствует методологии Unix, согласно которой все вещи являются файлами, но это не обязательно.

0
28.01.2020, 03:56

Теги

Похожие вопросы