Мой вопрос: Почему для компьютера на 172.16.2.0/24 подсети возможно проверить с помощью ping-запросов 172.16.1.1 (IP-адрес интерфейса eth1)?
Поскольку Вы позволили его, и Linux делает это по умолчанию.
Linux использует то, что называют слабой моделью хоста. Это означает, когда это получает пакет, прибывающий из eth2
, это будет полагать, что пакет для него, если адрес назначения будет IP-адресом какого-либо из его интерфейсов, не только eth2
. Даже если передача отключена.
Так, чтобы пакет ввел рычаг PREROUTING, ядро затем видят, что адрес назначения - так возобновите ВХОДНОЙ рычаг, и Вы принимаете весь ICMP от eth2
, таким образом, пакет принят.
Примечание: Это - поскольку я понимаю вещи, таким образом, это могло бы быть немного прочь!
Символы ^ [обычно показывают саму Клавишу выхода. Это - Управление (^) + открытая квадратная скобка ([).
выборка от Символов ESC - символ ESC ASCII
Символ "Escape" ASCII (восьмеричный: \033, шестнадцатеричный: \x1B или ^ [или, в десятичном числе, 27), используется во многих устройствах вывода для запуска серии символов, названных управляющей последовательностью или escape-последовательностью. Как правило, символ ESC был отправлен сначала в такой последовательности, чтобы предупредить устройство, что следующие символы должны были быть интерпретированы как управляющая последовательность, а не как простые символы, затем один или несколько символов будут следовать для определения некоторого подробного действия, после которого устройство вернулось бы к интерпретации символов обычно. Например, последовательность ^ [сопровождаемый печатаемыми символами [2; 10-й, заставил бы терминал DEC VT102 перемещать свой курсор в 10-ю ячейку 2-й строки экрана. Это было позже разработано к управляющим кодам ANSI, охваченным стандартом ANSI X3.64. Символ ESC также запускает каждую последовательность команды на Командном языке Принтера Hewlett Packard.
В системах, где Вы используете UTF-8, эта escape-последовательность является на самом деле 2 символами, таким образом, это теперь ^ [сопровождается дополнительным [.
выборка из управляющего кода ANSI - Элементы Последовательности
Существует отдельный символ CSI (155/0x9B/0233) также. ESC + [две последовательности символов чаще используются, чем односимвольная альтернатива, поскольку детали видят C0 и коды управления C1. Только две последовательности символов распознаны устройствами, которые поддерживают просто ASCII (7-разрядные байты) или устройства, которые поддерживают 8-разрядные байты, но используют 0x80–0x9F диапазон управляющего символа для других целей. На терминалах, которые используют кодировку UTF-8, обе формы берут 2 байта (CSI в UTF-8 является 0xC2, 0x9B) [обсуждают], но ESC + [последовательность более ясен.
Знание вышеупомянутых 2 сведений, это сделало бы escape-последовательность Esc + [+ D, который удается, чтобы быть, большое удивление, символ возврата.
выборка от Escape-последовательностей ANSI
Esc[ValueD Cursor Backward: Moves the cursor back by the specified
number of columns without changing lines. If the cursor is
already in the leftmost column, ANSI.SYS ignores this
sequence.
Это походит на плохую вставку копии в сценарий профиля оболочки.
Как @slm обозначенный,' ^[
+ [
'обычная escape-последовательность, но Вы говорите, что имеете'^[
+ [
+ [
'. Когда я просматриваю управляющие коды своего эмулятора терминала, я не вижу кодов, которые являются ESC, сопровождаемым 2 скобками.
Так как ESC является непечатаемым символом, он часто представлен в текстовых редакторах как ^[
. Я предполагаю, что кто-то редактировал сценарий профиля, который имел этот управляющий код и пытался скопировать/вставить он на другую систему. Но они скопировали визуальное представление ESC (^[
) вместо самого ESC.
Однако это привело бы только к наблюдению ^[[D
, нет ^[[[D
. Для этого, возможно, скопировать/вставить был сделан путем ввода его вместо этого, и это - опечатка.
В любом случае, для фиксации этого необходимо будет найти сценарий профиля, который имеет это, и зафиксируйте его. При использовании удара попробуйте следующее:
fgrep -r '[[[' /etc/bashrc /etc/bashrc.d /etc/bash_profile /etc/profile /etc/profile.d ~/.profile ~/.bashrc ~/.bash_profile
После того как Вы нашли его, легко зафиксировать. В vi
редактор, просто удалите ^[[
символы и в режиме вставки делают Ctrl + v затем ESC. Это вставит литеральный символ ESC.
stty
илиsetterm
среди нескольких других мест. – slm♦ 06.01.2014, 23:40