Маршруты blackhole
С помощью маршрутов можно не только отправить пакеты на определенный шлюз, но и просто избавиться от ненужных пакетов. Маршрутизация срабатывает до межсетевого экрана, и проверка адреса выполняется быстрее.
Зараженные хосты шлют трафик к контроллеру ботнета по адресу 192.0.2.10? Просто добавьте такой маршрут:
1 | $ip route add blackhole192.0.2.10/32 |
Теперь трафик к 192.0.2.10 ядро будет сразу отправлять в
/dev/null. Кроме blackhole, есть и другие виды маршрутов, которые отличаются действиями ядра. Их можно использовать, чтобы точнее сообщить клиенту, что происходит, или для эмуляции разных ситуаций в сети.
- blackhole — уничтожить пакет и ничего не делать;
- prohibit — уничтожить пакет и отправить клиенту ICMP host prohibited;
- unreachable — уничтожить пакет и отправить клиенту ICMP host unreachable;
- throw — уничтожить пакет и отправить клиенту ICMP net unreachable.
В маршрутизаторах BGP у маршрутов blackhole есть и более интересное применение, но это другая история.
Instant Configuration
Previously, Arch Linux used the command to setup VLANs. This command was superseded by the command. Make sure you have installed.
In the following examples, let us assume the interface is , the assigned name is and the vlan id is .
Create the VLAN device
Add the VLAN with the following command:
# ip link add link eth0 name eth0.100 type vlan id 100
Run to confirm that it has been created.
This interface behaves like a normal interface. All traffic routed to it will go through the master interface (in this example, ) but with a VLAN tag. Only VLAN-aware devices can accept them if configured correctly, else the traffic is dropped.
Using a name like is just convention and not enforced; you can alternatively use or something descriptive like . To see the VLAN ID on an interface, in case you used an unconventional name:
# ip -d link show eth0.100
The flag shows full details of an interface:
# ip -d addr show 4: eno1.100@eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default link/ether 96:4a:9c:84:36:51 brd ff:ff:ff:ff:ff:ff promiscuity 0 vlan protocol 802.1Q id 100 <REORDER_HDR> inet6 fe80::944a:9cff:fe84:3651/64 scope link valid_lft forever preferred_lft forever
Add an IP
Now add an IPv4 address to the just created VLAN link, and activate the link:
# ip addr add 192.168.100.1/24 brd 192.168.100.255 dev eth0.100 # ip link set dev eth0.100 up
To cleanly shut down the setting before you remove the link, you can do:
# ip link set dev eth0.100 down
Ссылки
Сеть |
||||||
---|---|---|---|---|---|---|
|
Всем привет! Сегодня я расскажу, как посмотреть arp таблицу
в Windows. Что такое arp — это протокол распознавания адреса, предназначен для преобразования IP-адресов в MAC-адреса, часто называемые также физическими адресами. Ранее я уже рассказывал, как выглядит arp таблица cisco . Думаю, что многим коллегам, кто только начинает знакомиться с сетевой инфраструктурой данной операционной системы, данная информация окажет хорошее подспорье, для формирования фундамента. Тут главное понимать принцип работы и назначения, все остальное уже нюансы различных вендоров.
Важной особенностью интерфейса Ethernet является то, что каждая интерфейсная карта имеет свой уникальный адрес. Каждому производителю карт выделен свой пул адресов в рамках которого он может выпускать карты
Согласно протоколу Ethernet, каждый интерфейс имеет 6-ти байтовый адрес. Адрес записывается в виде шести групп шестнадцатеричных цифр по две в каждой (шестнадцатеричная записи байта). Первые три байта называются префиксом, и именно они закреплены за производителем. Каждый префикс определяет 224 различных комбинаций, что равно почти 17-ти млн. адресам.
В сетях нет однозначного соответствия между физическим адресом сетевого интерфейса (MAC адресом сетевой карты) и его IP-адресом. Поиск по IP-адресу соответствующего Ethernet-адреса производится протоколом ARP, функционирующим на уровне доступа к среде передачи. Протокол поддерживает в оперативной памяти динамическую arp-таблицу в целях кэширования полученной информации. Открываем в Windows командную строку .
Очистить DNS — Systemd решено
На данный момент большинство пользователей Linux используют операционную систему, в которую встроена система инициализации Systemd. Хотя тема Systemd вызывает разногласия в сообществе, есть одна вещь, которую все знают: Systemd делает глубокие и сложные настройки на уровне операционной системы и обслуживание намного проще, чем это было в прошлом. Этот факт особенно актуален при очистке кеша DNS.
Systemd обрабатывает кеш DNS с помощью так называемого «systemd resolved». Это стандартная утилита, которую можно использовать в большинстве операционных систем Linux. Чтобы определить, использует ли ваша ОС Systemd Resolved для обработки DNS и кеширования DNS в системе, запустите окно терминала, нажав Ctrl + Alt + T или Ctrl + Shift + T на клавиатуре. После этого запустите статус systemctl команда на systemd-resolved.service файл.
systemctl status systemd-resolved.service
Просмотрите распечатку Systemd Resolved в окне терминала и найдите раздел «Активный», как только вы найдете раздел «Активный», и убедитесь, что рядом с ним стоит «активен (работает)». Если это так, ваша система Linux использует это для управления своим DNS.
Чтобы очистить кеш DNS для Systemd Resolved, вам необходимо использовать одну из встроенных функций Systemd Resolved. В частности, очистить кеши команда. Он мгновенно очистит DNS и снова заставит вас работать!
sudo systemd-resolved --flush-caches
Или, если вы не можете использовать судо, делать:
su -
systemd-resolved --flushcaches
Как только вы использовали флеш-кеши Команда DNS-кеши в системе должны быть достаточно очищены. Однако, если после выполнения этой команды вы все еще сталкиваетесь с некоторыми проблемами, может быть хорошей идеей полностью перезапустить службу. Для этого воспользуйтесь systemctl перезапуск команда.
sudo systemctl restart systemd-resolved.service
Не могу использовать судо? Войдите в систему как Root с вс перед попыткой перезапустить службу с помощью systemd.
su - systemctl restart systemd-resolved.service
Когда Systemd-Resolved завершит перезапуск, все проблемы с DNS должны быть исправлены!
Очистить arp таблицу windows
Если случилось так, что при наличии высокоскоростного доступа к сети интернет, несмотря на перегрузку модема или маршрутизатора, перенастройки IP-конфигурации, все равно не загружаются необходимые ресурсы по типу и выскакивает тайм-аут для некоторых веб-сайтов, как Google или Microsoft или Apple, которые доступны всегда. Помочь в решении данной проблемы очистка ARP-кэша.
Нужно помнить, что это один из трюков, который однажды помог на сервере под управлением Windows Server 2008 R2 и может также сработать в вашем случае.
Кэш ARP или Address Resolution Protocol включает в себя таблицу соответствия IP-адресов и физических адресов сетевых интерфейсов устройств. Эта таблица обновляется при первой необходимости, но не исключен вариант, что эта ARP-таблица может быть изменена посредством атаки на сервер или компьютер, после чего могут не открываться некоторые веб-сайты. Как это происходит можно .
- Для начала необходимо открыть командную строку с административными правами.
- Ввести arp -a — будет выведена таблица соответствий IP-адреса и физического адреса сетевого интерфейса соседнего устройства(MAC-адрес). В таблице можно будет увидеть записи статические и динамические. Статические записи не нуждаются в каком либо внимании, разве что их по необходимости нужно обновлять вручную. Больше интересны сейчас динамические записи, которые можно сбросить при помощи очистки ARP-кэша.
Теперь, чтобы очистить ARP-кэш, необходимо выполнить команду: netsh interface ip delete arpcache После чего ARP-таблица будет очищена.
В случае, если выдается сообщение об ошибке, необходимо перезапустить соответствующую службу через Панель управления-Администрирование-Службы.
Данная команда работает на Windows XP SP3, Windows 7, Windows Server 2008
Ручная настройка сети в Ubuntu
Предыдущий вариант хорош, если вы собираетесь его использовать постоянно, но если нужно только один раз настроить сеть через терминал, то редактировать конфигурационные файлы необязательно. Мы можем всё сделать с помощью команды ip. Дальше будет рассмотрена настройка сети вручную Ubuntu.
Эта команда используется для управления сетью и входит во все дистрибутивы по умолчанию.
Как и в предыдущем примере, смотрим сетевые интерфейсы:
После того, как мы узнали интерфейс, можно переходить к настройке.
Получение IP-адреса по DHCP
Сначала включаем интерфейс:
Затем с помощью команды dhclient запрашиваем ip:
Всё, настройка сети Ubuntu 16.04 завершена, у нас есть IP-адрес, и осталось только настроить DNS, но это мы рассмотрим ниже.
Настройка статического IP
Включаем интерфейс:
Устанавливаем IP-адрес, маску сети и broadcast-адрес для нашего интерфейса:
Указываем IP-адрес шлюза:
Здесь 192.168.1.7 — наш IP-адрес, 255.255.255.0 — маска сети, 192.168.1.255 — широковещательный адрес. Замените эти значения на свои.
Как видите, сеть работает. Если хотите поэкспериментировать на машине с рабочей сетью, её можно сбросить командой:
IP Addressing
The following section describes the process of configuring your systems IP address and default gateway needed for communicating on a local area network and the Internet.
Temporary IP Address Assignment
For temporary network configurations, you can use the ip command which is also found on most other GNU/Linux operating systems. The ip command allows you to configure settings which take effect immediately, however they are not persistent and will be lost after a reboot.
To temporarily configure an IP address, you can use the ip command in the following manner. Modify the IP address and subnet mask to match your network requirements.
The ip can then be used to set the link up or down.
To verify the IP address configuration of enp0s25, you can use the ip command in the following manner.
To configure a default gateway, you can use the ip command in the following manner. Modify the default gateway address to match your network requirements.
To verify your default gateway configuration, you can use the ip command in the following manner.
If you require DNS for your temporary network configuration, you can add DNS server IP addresses in the file . In general, editing directly is not recommanded, but this is a temporary and non-persistent configuration. The example below shows how to enter two DNS servers to , which should be changed to servers appropriate for your network. A more lengthy description of the proper persistent way to do DNS client configuration is in a following section.
If you no longer need this configuration and wish to purge all IP configuration from an interface, you can use the ip command with the flush option as shown below.
Dynamic IP Address Assignment (DHCP Client)
To configure your server to use DHCP for dynamic address assignment, create a netplan configuration in the file . The example below assumes you are configuring your first Ethernet interface identified as enp3s0.
The configuration can then be applied using the netplan command.
Static IP Address Assignment
To configure your system to use static address assignment, create a netplan configuration in the file . The example below assumes you are configuring your first Ethernet interface identified as eth0. Change the addresses, gateway4, and nameservers values to meet the requirements of your network.
The configuration can then be applied using the netplan command.
Loopback Interface
The loopback interface is identified by the system as lo and has a default IP address of 127.0.0.1. It can be viewed using the ip command.
Как откатить программу до предыдущей версии в Arch Linux
Рассмотрим примет выполнение отката пакета. Предположим, что после обновление рабочего стола Cinnamon у меня возникла проблема и я хочу вернуться к предыдущей версии Cinnamon пока не будет выпущена версия с исправлениям.
Смотрю текущую версию:
pacman -Q cinnamon cinnamon 4.2.3-1
Перехожу в папку /var/cache/pacman/pkg/:
cd /var/cache/pacman/pkg/
И ищу доступные версии:
ls -hgG *cinnamon* -rw-r--r-- 1 1,6M июл 1 02:21 cinnamon-4.2.0-2-x86_64.pkg.tar.xz -rw-r--r-- 1 1,6M июл 10 21:18 cinnamon-4.2.1-1-x86_64.pkg.tar.xz -rw-r--r-- 1 1,6M июл 12 18:43 cinnamon-4.2.2-1-x86_64.pkg.tar.xz -rw-r--r-- 1 1,6M июл 25 20:07 cinnamon-4.2.3-1-x86_64.pkg.tar.xz -rw-r--r-- 1 1,5M июл 10 19:02 cinnamon-control-center-4.2.1-1-x86_64.pkg.tar.xz -rw-r--r-- 1 121K июл 4 19:18 cinnamon-session-4.2.1-1-x86_64.pkg.tar.xz -rw-r--r-- 1 457K июл 25 17:40 cinnamon-settings-daemon-4.2.2-1-x86_64.pkg.tar.xz
Последней установленной версией является 4.2.3, но я также могу установить из кэша версии:
- cinnamon-4.2.0
- cinnamon-4.2.1
- cinnamon-4.2.2
Я могу выбрать любую из них — выбираю предпоследнюю, То есть 4.2.2. Теперь мне нужно запустить установку командой вида:
sudo pacman -U /var/cache/pacman/pkg/ИМЯ_ФАЙЛА.pkg.tar.xz
Для моего случая это команда:
sudo pacman -U /var/cache/pacman/pkg/cinnamon-4.2.2-1-x86_64.pkg.tar.xz
Настройка размера кэша памяти
Куда удобнее не очищать кэш каждый раз, а настроить ограничение, при превышении которого система сама будет удалять лишние страницы. Вы не можете явно ограничить сколько мегабайт может система использовать под кэш. Будет использоваться вся доступная память по мере необходимости, но можно настроить скорость удаления просроченных страниц из кэша.
За это отвечает файл /proc/sys/vm/vfs_cache_pressure. Он содержит относительный показатель, насколько агрессивно нужно удалять страницы из кэша. По умолчанию установлен параметр 100. Если его уменьшить ядро будет реже удалять страницы и это приведет к очень быстрому увеличению кэша. При нуле страницы вообще не будут удаляться. Если значение больше 100, размер кэша будет увеличиваться медленнее и неиспользуемые страницы будут сразу удаляться.
Например, сделаем минимальный размер кэша:
Не забудьте, что это очень сильно снизит производительность вашей системы, потому что вместо кэша данные будут читаться из диска.
Сетевые настройки на сервере Debian
Вопрос настройки сети я уже кратко поднимал в теме начальной настройки Debian. Я рекомендую с ней ознакомиться и выполнить некоторые подготовительные действия, чтобы было удобнее работать далее. Сейчас мы подробно разберем все наиболее значимые нюансы сетевых настроек, которые могут пригодиться в повседневной работе.
Первоначальная настройка сети начинается во время установки сервера. Если у вас есть сетевой интерфейс и dhcp сервер в сети, то сеть сконфигурируется автоматически на основе полученных настроек и будет готова к работе. В последствии вы можете выполнить настройку сети в Debian через консоль с помощью программ ip или ifconfig. Наиболее популярным и современным средством на текущий момент является ip, поэтому в дальнейшем рассмотрим вопрос конфигурации сетевых интерфейсов с ее помощью. Про ifconfig тоже не забудем. Рассмотрим ее позже отдельно.
Отдельно стоит такой инструмент управления сетевыми подключениями как Network manager. Он используется в сочетании с графическими оболочками, которых на сервере обычно нет, поэтому вопрос его настройки я не буду рассматривать. Мне просто не на чем это делать, да и не вижу смысла.
Есть 2 различные возможности изменить сеть в Debian:
- Настройка сети из консоли с помощью указанных ранее консольных программ.
- С помощью редактирования конфигурационного файла сетевых интерфейсов /etc/network/interfaces.
Мы рассмотрим оба этих варианта. Вводная теоретическая часть окончена, приступаем к практике.
Проверка подключения
При проблемах с подключением к сети последовательно проверьте, что:
- обнаружен и включён. В противном случае, проверьте драйвер устройства – см. и .
- Вы подключены к сети: воткнут сетевой кабель или есть подключение к беспроводной сети.
- Сетевому интерфейсу присвоен .
- Правильно настроена .
- Возможно локальный IP-адрес (например, шлюз по умолчанию).
- Возможно публичный IP-адрес (например, — DNS-сервер Google).
- Работает (например, ).
Ping
Для проверки соединения с хостом, используется утилита ping.
$ ping www.example.com
PING www.example.com (93.184.216.34): 56(84) data bytes 64 bytes from 93.184.216.34: icmp_seq=0 ttl=56 time=11.632 ms 64 bytes from 93.184.216.34: icmp_seq=1 ttl=56 time=11.726 ms 64 bytes from 93.184.216.34: icmp_seq=2 ttl=56 time=10.683 ms ...
Если вы не получаете ответов, это может быть связано со шлюзом по умолчанию или интернет-провайдером. Воспользуйтесь утилитой traceroute для диагностики маршрута к хосту.
Примечание: Если вы получили сообщение об ошибке при запуске ping, то попробуйте переустановить пакет .
Установка шлюза по-умолчанию (default gateway)
Теперь разберемся со шлюзом по-умолчанию. В предыдущих примерах со статическим ip адресом и настройками по dhcp у нас не было необходимости указывать отдельно default gateway. Мы его устанавливали вместе с остальными настройками. Чтобы посмотреть установленный по-умолчанию шлюз в debian, можно воспользоваться следующей командой в консоли:
Это шлюз по-умолчанию (default gateway). Можно воспользоваться другими, более популярными и привычными командами:
Если получите ошибки:
Значит у вас не установлен пакет net-tools. Установить его можно следующей командой.
Сетевые инструменты из пакета net-tools объявлены устаревшими и не включены в состав базовой системы. Я ими продолжаю пользоваться, потому что мне нравится их вывод больше, чем у команды ip. Netstat мне видится более информативным, хотя по сути, они все показывают одно и то же. Отказ в пользу утилиты ip идет по той причине, что она объединяет в себе все основные сетевые инструменты. Удобнее пользоваться только ей одной для настройки сети, нежели разными утилитами для разных целей.
Если нам нужно сменить default gateway, то сначала надо удалить текущий шлюз, а потом назначить новый.
То же самое, только с помощью ip:
Проверяем, что получилось:
Все получилось. Эта настройка будет действовать до перезагрузки. Чтобы ее сохранить, либо меняйте конфигурационный файл interfaces, либо, при необходимости, придумывайте что-то еще.
Вот полная справка команды arp
Отображение и изменение таблиц преобразования IP-адресов в физические, используемые протоколом разрешения адресов (ARP).
ARP -s inet_addr eth_addr ARP -d inet_addr ARP -a
- -a Отображает текущие ARP-записи, опрашивая текущие данные протокола. Если задан inet_addr, то будут отображены IP и физический адреса только для заданного компьютера. Если ARP используют более одного сетевого интерфейса, то будут отображаться записи для каждой таблицы.
- -g То же, что и параметр -a.
- -v Отображает текущие ARP-записи в режиме подробного протоколирования. Все недопустимые записи и записи в интерфейсе обратной связи будут отображаться. inet_addr Определяет IP-адрес.
- -N if_addr Отображает ARP-записи для заданного в if_addr сетевого интерфейса.
- -d Удаляет узел, задаваемый inet_addr. Параметр inet_addr может содержать знак шаблона * для удаления всех узлов.
- -s Добавляет узел и связывает адрес в Интернете inet_addr с физическим адресом eth_addr. Физический адрес задается 6 байтами (в шестнадцатеричном виде), разделенных дефисом. Эта связь является постоянной eth_addr Определяет физический адрес.
- if_addr — Если параметр задан, он определяет адрес интерфейса в Интернете, чья таблица преобразования адресов должна измениться. Если параметр не задан, будет использован первый доступный интерфейс.
Управление ARP-таблицей
В локальной сети текущий хост для определения физических адресов (MAC-адресов) по IP-адресам удаленных узлов использует протокол ARP и локальный ARP -кэш (ARP-таблицу). Управление ARP-таблицей осуществляется командой ip neigh. Каждый узел локальной сети (в том числе и хабы/свичи) содержат свою локальную ARP-таблицу (кэш), которая устанавливает соответствие между IP и MAC-адресами узлов подсетей, в которые входит данную сеть. В ARP-таблице имеются два вида записей:
- Динамические записи, которые периодически обновляются с использованием протокола ARP (если запись «устаревает», то она удаляется).
- Статические записи, которые создаются пользователем с помощью соответствующих команд и существуют до тех пор, пока текущий узел не будет выключен/перезагружен.
nout:~# # отображение содержимого таблицы ARP
nout:~# ip neigh show
192.168.1.1 dev wlan0 lladdr bc:ae:c5:c3:c9:31 REACHABLE
nout:~# # добавление статической записи в ARP таблицу
nout:~# ip neigh add 192.168.1.100 lladdr 00:00:00:11:00:22 dev wlan0
nout:~# ip neigh show
192.168.1.100 dev wlan0 lladdr 00:00:00:11:00:22 PERMANENT
192.168.1.1 dev wlan0 lladdr bc:ae:c5:c3:c9:31 REACHABLE
nout:~# # удаление записи
nout:~# ip neigh del 192.168.1.100 dev wlan0
nout:~# ip neigh show
192.168.1.1 dev wlan0 lladdr bc:ae:c5:c3:c9:31 REACHABLE
Примеры использования ip
Вот теперь мы дошли к самому интересному — примерам использования утилиты ip Linux. То что я здесь опишу на самом деле лишь маленькая капля из всего того что может утилита ip.
1. Просмотр IP адресов
Чтобы посмотреть все IP адреса, связанные с сетевыми интерфейсами используйте такую команду:
Или:
Для просмотра информации в кратком виде используйте опцию -br:
Можно посмотреть IP адреса только по определённому сетевому интерфейсу, например: enp0s3:
Или:
Можно отобразить только статические IP адреса:
Или только динамические:
2. Добавление IP адреса
Чтобы присвоить IP адрес для устройства нужно использовать команду add. Её общий синтаксис такой:
$ ip addr add IP_адрес/маска dev интерфейс
Например, давайте присвоим тому же интерфейсу enp0s3 IP адрес 10.0.2.100 с маской подсети 255.255.255.0:
Маску можно указать и в сокращённом виде:
3. Удаление IP адреса
Чтобы удалить IP адрес из интерфейса надо использовать команду del. Синтаксис её очень похож на предыдущую команду. Например, удалим IP адрес 10.0.2.100:
Можно удалять IP адреса по одному или удалить все сразу с помощью команды flush:
Или же можно удалить адреса только определённой подсети:
Если вы будете применять эти команды к интерфейсу, с помощью которого у вас работает сеть, то сеть пропадёт и чтобы её вернуть надо будет перезагрузить сетевые службы.
Чтобы посмотреть список сетевых интерфейсов используйте объект link:
Или:
5. Включение или выключение интерфейсов
Для решения этой задачи тоже используется объект link, но с командой set. Синтаксис её такой:
$ ip link set dev интерфейс действие
В качестве действия можно использовать up или down. Например, чтобы отключить интерфейс enp0s3 выполните:
А чтобы включить его обратно:
6. Настройка MTU
Параметр MTU означает размер одного пакета, передаваемого по сети. Этот размер можно изменить с помощью команды set. Например, увеличим MTU для enp0s3 до 4000 тысяч байт:
7. Настройка MAC адреса
Адрес MAC — это физический адрес, который используется для определения какому устройству надо передать сетевой пакет в локальной сети. Прежде чем настраивать MAC адрес ваше устройство надо отключить:
Затем можно установить адрес:
А потом включить интерфейс обратно:
8. Таблица ARP
Именно протокол ARP отвечает за преобразование IP адресов в низкоуровневые MAC адреса. Для того чтобы не отправлять ARP запросы каждый раз в сеть, кэш хранится в таблице ARP на протяжении 20-ти минут. Чтобы посмотреть содержимое таблицы ARP используйте такую команду:
Или
9. Добавление записи в таблицу ARP
Обычно записи в эту таблицу попадают автоматически, но вы можете добавить их и вручную. Для этого используйте команду add объекта neigh:
В этом примере я заставил компьютер думать, что узел с IP 192.168.0.105 это 192.168.0.1. Теперь можно попытаться выполнить ping по этому адресу и оно будет работать, несмотря на то, что реально такого узла в сети нет.
10. Очистка таблицы ARP
Вы можете удалять IP адреса по одному с помощью команды del:
Можно удалить все записи для определённого сетевого интерфейса:
Или очистить таблицу полностью командой flush:
Для просмотра таблицы маршрутизации используйте объект route и команду show:
Или:
12. Добавление маршрута
Синтаксис добавления нового маршрута в таблицу маршрутизации такой:
$ ip route add подсеть/маска via шлюз
Вместо шлюза можно указать сетевой интерфейс с помощью которого надо отправлять пакеты:
$ ip route add подсеть/маска dev устройство
Например, добавим новый маршрут для сети через тот же IP адрес:
Или можно указать сетевой интерфейс через который надо отправлять пакеты для определённой сети:
Просмотр размера папки кэша
Теперь, когда программа Disk Usage Analyzer установлена в Linux, мы можем использовать ее, чтобы узнать, насколько велик ваш папка, чтобы определить, нужно ли удалить всю папку или нам просто нужно удалить отдельные папки.
Откройте Disk Usage Analyzer на рабочем столе, выполнив поиск в меню приложения. Или откройте панель быстрого запуска с помощью Alt + F2 на клавиатуре и введите команда для запуска. Затем следуйте пошаговым инструкциям ниже.
Шаг 1: В анализаторе использования диска найдите значок «Домашняя папка». В Disk Usage Analyzer он находится в разделе «Этот компьютер». Когда вы щелкнете по нему, приложение Disk Usage Analyzer начнет сканировать ваш домашний каталог на предмет файлов и папок. Наберитесь терпения и позвольте ему сканировать.
Шаг 2: После того, как Disk Usage Analyzer завершит сканирование вашего ПК с Linux на наличие файлов, вы увидите кольцевой график справа и древовидную структуру папок слева. Найдите .cache в древовидной структуре папок и щелкните по нему.
Шаг 3: Как только вы нажмете на папки, вы увидите точный ее размер на кольцевом изображении справа. Вы также сможете узнать размер папка.
Чтобы увидеть размер отдельных папок внутри папку, щелкните стрелку рядом с в древовидной структуре слева. Он отсортирует папки по размеру.
Отображение и изменение таблицы маршрутизации
Для назначения, удаления и отображения таблицы маршрутизации ядра используйте объект . Наиболее часто используемые команды при работе с объектами маршрутов: , и .
Показать таблицу маршрутизации
Чтобы получить список записей маршрута ядра, используйте одну из следующих команд:
При использовании без команда выведет список всех записей маршрута в ядре:
Чтобы отобразить только маршрутизацию для определенной сети, например , введите:
Добавить новый маршрут
Чтобы добавить новую запись в таблицу маршрутизации, используйте команду за которой следует имя сети или устройства.
Добавьте маршрут к 192.168.121.0/24 через шлюз 192.168.121.1
Добавьте маршрут к 192.168.121.0/24, который может быть достигнут на устройстве eth0.
Чтобы добавить маршрут по умолчанию, используйте ключевое слово . Следующая команда добавит маршрут по умолчанию через локальный шлюз который может быть достигнут на устройстве .
Удалить маршрут
Чтобы удалить запись из таблицы маршрутизации, используйте команду . Синтаксис удаления маршрута такой же, как и при добавлении.
Следующая команда удалит маршрут по умолчанию:
Удалите маршрут для 192.168.121.0/24 через шлюз 192.168.121.1
Как освободить кэш память в Linux
В каждом дистрибутиве Linux можно использовать три команды чтобы очистить кэш памяти linux. Причем вам не придется завершать никаких процессов. Сначала войдите в консоль от имени суперпользователя:
Затем выполните одну из команд. Очистка кэша PageCache:
Очистка inode и dentrie:
Очистка inode и dentrie и PageCache:
А теперь давайте рассмотрим что происходит при выполнении этих команд.
Утилита sync заставляет систему записать все кэшированные, но еще не записанные данные на диск. Это нужно чтобы освободить как можно больше памяти. По умолчанию данные после записи на диск не удаляются из кэша, это нужно для того, чтобы программа могла быстрее их считать при необходимости.
Если не выполнить команду sync мы тоже освободим немного места, но после ее выполнения результат будет лучше.
Символ разделения ; дает знать оболочке, что перед тем как выполнить другую команду, нужно дождаться завершения работы первой. Последняя команда echo 1 > /proc/sys/vm/drop_caches записывает значение 1 в файл /proc/sys/vm/drop_caches. Это дает сигнал ядру, что нужно очистить выбранный нами вид кэша.
Виды кэша в Linux
А теперь давайте рассмотрим виды кэша, которые позволяют очищать эти команды, а также как все это работает.
PageCache или страничный кэш — это место, куда ядро складывает все данные, которые вы записывали или читали из диска. Это очень сильно ускоряет работу системы, так как если программе во второй раз понадобятся те же данные, они просто будут взяты из оперативной памяти. Но по этой причине этот кэш занимает больше всего места.
Посмотреть размер страничного кэша можно с помощью утилиты free. Здесь он показан в последней колонке — cached:
Такой кэш чистить эффективнее и безопаснее всего.
Кэш inode и dentrie тоже относится к файловой системе. Только в него записываются не сами данные, а структура файловой системы, расположение файлов и папок. При запросе расположения файла или содержимого папки ядро формирует специальные структуры, в которых есть вся эта информация. При следующем запросе структуры будут уже сохранены в памяти. Для каждой файловой системы существует свой кэш inode и общий кэш dentrie.
Этот кэш занимает очень мало памяти. Данные представлены в байтах, и как видите, это очень мало. Посмотреть его можно командой:
Очищать его чтобы освободить память linux не рекомендуется, так как памяти потребляется немного, а на новое сканирование файловой системы идет относительно много времени.
Нужно ли очищать кэш вообще?
Во-первых, если занято очень много памяти, вы можете очистить страничный кэш, особенно если это он занимает много памяти. Во-вторых, очистить кэш памяти linux может понадобиться, если вы изменяли какие-либо настройки файловой системы или ядра, а теперь хотите проверить как это отразилось на скорости операций чтения/записи. В таком случае можно очистить все кэши и сделать это без перезагрузки, что очень удобно.
Операционная система Linux разработана таким образом, что перед тем как обратиться к диску, будет просмотрен кэш диска, и если там есть нужные данные, к диску обращений не будет. Если очистить кэш Linux то операционная система будет работать немного медленнее, поскольку ей придется искать данные на диске.
Автоматическая очистка кэша
Давайте рассмотрим как автоматически очистить кэш памяти ежедневно в два часа ночи с помощью планировщика заданий cron.
Сначала создадим bash скрипт со следующим содержимым:
Очищать будем только страничный кэш, так как он занимает больше всего. Другие виды трогать не будем, чтобы зря не понижать производительность системы.
Дальше сделайте скрипт исполняемым:
Осталось добавить задание в планировщик cron. Для этого выполните команду:
И в открывшемся редакторе добавьте строчку:
Теперь этот скрипт будет выполняться каждую ночь и выполнять очистку памяти, чтобы сервер мог работать нормально.
Очистить кеш Firefox через графический интерфейс
Чтобы очистить кеш в Firefox, который может дополнительно включать в себя историю просмотров, файлы cookie, активные входы в систему и историю форм, откройте Firefox в своей системе и выполните следующие шаги.
-
Щелкните меню параметров (три линии в верхнем правом углу), а затем выберите «Настройки».
Открыть меню настроек
ПОДПИСАТЬСЯ НА НОВОСТИ И RSS Подпишитесь на RSS и НОВОСТНОЙ БЮЛЛЕТЕНЬ и получайте последние новости Linux, вакансии, советы по карьере и учебные пособия.
Далее, перейдите на вкладку «Конфиденциальность и безопасность».
Щелкните вкладку «Конфиденциальность и безопасность»
Прокрутите вниз частично, и вы увидите раздел под названием История. Нажмите кнопку «Очистить историю», где вы можете выбрать очистку кеша и других файлов истории просмотров.
Выберите, что очистить, и выберите временной диапазон
Вы также можете найти раздел« Файлы cookie и данные сайта », в котором покажет вам, сколько места занимают ваши файлы кеша, и даст вам возможность очистить их.
Эта область показывает, сколько места занимает кеш, и дает возможность очистить его или управлять им
Вот и все
Обратите внимание также на то, что вы можете настроить Firefox для автоматической очистки кеша, файлов cookie и/или истории просмотра веб-страниц при каждом закрытии браузера. Теперь вы можете выйти из Firefox или возобновите просмотр веб-страниц после того, как закончите очистку кеша и других данных, если захотите
Машиночитаемый вывод информации
Если вы все еще парсите вывод ifconfig в скриптах и при этом нецензурно ругаетесь, у меня для вас хорошие новости: у iproute2 имеются опции, которые позволят вам и вашим коллегам наконец взять детей на работу.
Можно получить вывод либо в традиционном для UNIX формате из полей с разделителями, либо в JSON.
Опция
—brief (
-br) идеальна для разбора с помощью
cut или
awk-F’ ‘ и отлично подойдет для применения в традиционных скриптах Shell:
1 |
$ip—brief link show macvlan0 macvlan0@eth0 UP8a01128f1f7c<BROADCAST,MULTICAST,UP,LOWER_UP> $ip—brief address show macvlan0 macvlan0@eth0 UP203.0.113.90/25fe80880112fffe8f1f7c/64 |
Если адресов у интерфейса несколько, они все будут выведены через пробел после состояния интерфейса, сначала IPv4, затем IPv6.
Вывод в JSON
Если вы решили порвать с прошлым и пишете скрипты, к примеру, на Python, вывод в JSON может быть предпочтительнее.
Эта возможность в iproute2 появилась недавно (с версии 4.13) и имеет ряд особенностей, граничащих с багами. Надеюсь, их исправят в следующих версиях.
Важный момент: опции
—json и
—brief не взаимоисключающие. Их можно указать одновременно, в этом случае вывод будет менее детальным.
Посмотрим на пример вывода для
ip address show:
1 | $ip—json—brief address show macvlan0 |
1 |
{},{}, { «link»»eth0», «ifname»»macvlan0», «operstate»»UP», «addr_info» { «local»»203.0.113.90», «prefixlen»25 }, { «local»»203.0.113.91», «prefixlen»25 }, { «local»»fe80::8801:12ff:fe8f:1f7c», «prefixlen»64 } }, {},{},{},{},{},{} |
Несколько неудобно, что мы получаем не ассоциативный массив с именем интерфейса в качестве индекса, а обычный массив с объектами внутри. Более того, если отфильтровать вывод, указав имя интересующего интерфейса, на месте непоказанных интерфейсов будут пустые значения, которые придется отфильтровывать самому.
Тем не менее вывод не подвержен ошибкам разбора, предоставляет большое количество информации (особенно без
—brief) и не слишком сложен в работе, хотя простор для улучшений явно есть.