Вход на хостинг
IT-новости
20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла
Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......
30.07.2015 Ищем уникальный контент для сайта
Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......
Запускаем собственно сниффер (в фоновом режиме):
# tcpdump -i eth0:1 > /var/log/tcpdump.log &
При этом необходимо позаботиться о правильной установке прав доступа к файлу дампа, установите правильную umask или установите атрибуты вручную:
# touch /var/log/tcpdump.log
# chattr 600 /var/log/tcpdump.log
Для повышения безопасности можно также запустить сниффер через chroot:
(chroot /var/log tcpdump -i eth0:1)
но обычно это делается в инициализационном скрипте.
Есть ещё несколько нюансов в данном примере, а именно установки сетевых опций ядра. Опции ядра обычно устанавливаются посредством файловой системы /proc занесением необходимых значений в определенные файлы. Для нас необходимо отключить icmp redirect ответы, чтобы наш маршрутизатор не сообщал клиентам о выборе необходимого маршрута непосредственно (это лишит нас возможности установки меток на пакеты, а кроме того, понимается далеко не всеми клиентами по умолчанию). Для этого делаем следующее:
# echo 0 > /proc/sys/net/ipv4/conf/all/send_redirects
# echo 0 > /proc/sys/net/ipv4/conf/default/send_redirects
# echo 0 > /proc/sys/net/ipv4/conf/eth0/send_redirects
Не забывайте также о правильной настройке брандмауэра, а также, если имеется несколько подсетей, желательно убедиться, что выключена прямая передача пакетов из подсети в подсеть (т.е. если пакет направлен в другую подсеть, он не должен передаваться на другой сетевой интерфейс без обработки):
# echo 0 > /proc/sys/net/ipv4/ip_forward
Единственный серьезный минус приведенной схемы – возможность подмены IP-адреса. К сожалению, этот недостаток исправить невозможно, но можно дополнительно отслеживать обращения ко внешней сети. На этом я завершу описание этой «простенькой» задачки для администратора и перейду к описанию установки IP-туннелей.
Вообще любой сетевой туннель выполняет инкапсуляцию пакетов (фактически к каждому пакету добавляется необходимый заголовок). Туннели позволяют организовать связь нескольких подсетей одним соединением. В ядро Linux интегрирована поддержка нескольких типов IP-туннелей. Управление туннелями осуществляется посредством команды ip tunnel. Но для начала необходимо включить поддержку туннелей в ядре. На странице Networking options отмечаем следующие опции:
n IP: tunneling – поддержка туннелей ядром;
n IP: GRE tunnels over ip – поддержка GRE-туннелей, которые обладают возможностью инкапсулировать IPv6-трафик, кроме этого, GRE является стандартом де-факто в маршрутизаторах Cisco, поэтому для организации туннеля между Linux-машиной и маршрутизатором Cisco применяйте GRE-туннели.
Представим себе организацию туннеля между двумя компьютерами и соединяющем две подсети: