Скорее всего, вас раздражает странное поведение bash в отношении файлов инициализации . Нагрузки Баша .bashrc
в двух совершенно разных случаях:
sshd
. Таким образом, когда вы входите в систему через SSH, bash загружает .bash_profile
, если интерактивная оболочка, и .bashrc
, если нет. Передача -T
в ssh
не влияет на это, и на самом деле это не имеет значения в вашем случае, поскольку SSH создает терминал только в том случае, если вы не передаете команду или если вы передаете -t
в ssh
.
Ваш .bashrc
, по-видимому, содержит некоторый код, который взаимодействует с терминалом, выдавая некоторые escape-последовательности (, в частности, для установки цвета фона). Чтобы избежать хаоса, ничего не запускайте из .bashrc
, если bash не запущен в интерактивном режиме. Поместите это вверху.bashrc
:
if [[ $- != *i* ]]; then return; fi
Ядро M получает пакет, IP-адрес назначения которого указывает, что он не предназначен для M. Что он будет делать?
Когда ip_forward=0
, оно думает :"Я не знаю, почему мне это прислали, и мне все равно. В мусорное ведро!"
С помощью ip_forward=1
: «Хм, это не для меня. Но я знаю, где находится получатель, поэтому я просто отправлю его повторно с правильным MAC-адресом».
Другими словами, с помощью ip_forward=1
,вам не нужно изменять MAC-адрес, потому что ваше ядро делает это за вас.