На основі @olivervbk відповідь нижче моя!
Виконайте всі команди як "root".
Використовуйте команду ...
ip a
... щоб дізнатись назву мережевого інтерфейсу, який ви хочете використовувати.
Запустіть команди нижче як шаблон ...
ip netns add [INTERFACE_NAME]_ns
ip link set dev [INTERFACE_NAME] netns [INTERFACE_NAME]_ns
ip netns exec [INTERFACE_NAME]_ns ifconfig [INTERFACE_NAME] 10.1.1.10/24 up
ip netns exec [INTERFACE_NAME]_ns ifconfig lo 127.0.0.1/8 up
ip netns exec [INTERFACE_NAME]_ns route add default gw 10.1.1.1
ip netns exec [INTERFACE_NAME]_ns dhcpcd [INTERFACE_NAME]
ip netns exec [INTERFACE_NAME]_ns sudo -b -u [YOUR_USER] [APP_NAME] 2> /dev/null 1> /dev/null &
- [INTERFACE_NAME] - замініть ім'я вибраного мережевого інтерфейсу.
- [YOUR_USER] - замініть своє ім’я користувача.
- [APP_NAME] - назва програми, яка буде виконуватися в просторі імен "[INTERFACE_NAME] _ns". Напр .: "firefox".
ПРИМІТКА I: Прапорці "-b -u" у команді "sudo" дозволяють програмі запускатись із використанням вашого користувача (а не "root") та у фоновому режимі вивільняючи термінал. 2> /dev/null 1> /dev/null &
Фрагмент коду, щоб запобігти виходи з «[APP_NAME]» друкується на терміналі.
ПРИМІТКА II: Значення ip "10.1.1.10" та "10.1.1.1" є довільними.
ПРИМІТКА III. Щоб працювати для мене, мені довелося виконати dhcpcd [INTERFACE_NAME]
команду.
Для видалення простору імен використовуйте ...
ip netns del [INTERFACE_NAME]_ns
... або ...
ip -all netns delete
... видалити все, що існує.