/proc/7791/environ
показывает исходную среду оболочки, как она была получена процессом при его запуске с помощью системного вызова execve:
int execve(const char *filename, char *const argv[], char *const envp[]);
Когда оболочка работает, он может изменить свой набор экспортируемых переменных, например, вычислив .bashrc
. Затем этот новый набор передается в векторе envp
при запуске программы env
.
Для физических серверов лучше всего определить VLAN в вашей сети/инфраструктуре.
Более того, если вы определите VLAN на уровне интерфейса ваших серверов, они не смогут общаться с вашим маршрутизатором, чтобы покинуть сеть, поскольку маршрутизатор не будет частью этой VLAN. То есть, поскольку вы определяете виртуальную локальную сеть, только элементы, принадлежащие к этой виртуальной локальной сети, могут обмениваться данными между собой.
Для создания виртуальных локальных сетей сетевая инфраструктура также должна поддерживать виртуальные локальные сети (например, ваш коммутатор). Некоторые более дешевые/бытовые устройства не поддерживают тегирование VLAN (802.1Q).
Проще говоря, обычно в такой физической ситуации, как у вас, виртуальные локальные сети определяются на уровне коммутатора. Обычно все порты коммутатора, к которым подключены серверы, входящие в эту VLAN, и их маршрутизатор (если речь не идет о коммутаторе третьего уровня, например, маршрутизаторе коммутатора), помечаются этой VLAN.
Обычно работа с VLAN на уровне Linux имеет смысл только когда:
1) ваш маршрутизатор - это linux box;
2) вы находитесь в тестовой сети.
Тем не менее, если вы все еще настаиваете на создании VLAN для тестирования, вам нужно:
1) загрузить соответствующий режим ядра
modprobe 8021q
2) добавить интерфейс в требуемую VLAN (например, 5)
vconfig add eth0 5
В результате вы получите интерфейс под названием eth0.5
.
Все серверы, которые вы хотите добавить в ту же VLAN, должны быть настроены с vlan id
5.
Аналогично, если вам нужны группы разных VLAN, вы будете использовать разные идентификаторы VLAN, и соответственно группировать серверы, принадлежащие к этим VLAN.
Я оставлю здесь ссылку: HowTo: Configure Linux Virtual Local Area Network (VLAN)
Обратите внимание, что для больших сетей разделение сетей на VLAN может потребовать соответствующего планирования, и включать динамические более сложные протоколы, однако это выходит за рамки данного вопроса и Unix&Linux.
В качестве еще одной сноски, существуют iOT-устройства и дешевые маршрутизаторы/коммутаторы/AP-устройства, такие как TPLink и ASUS wifi APs с несколькими портами ethernet, которые поддерживают дешевые чипсеты коммутаторов, управляемые из Linux.
Обычно эти чипсеты, хотя и поддерживают некоторую функциональность VLAN, они просто делают внутреннюю форму VLAN (внутреннюю для оборудования / для чипсета), и не поддерживают 802.1Q.
Например, в Lamobo/Banana PI R1 таким чипсетом является BCM53125.
В этом случае все коммутаторы будут созданы только на уровне коммутатора Linux (маршрутизатора), а остальные серверы/коммутаторы/маршрутизаторы ничего не будут знать о VLAN.