ip netns(8) - wariua/manpages-ko GitHub Wiki
ip-netns - ํ๋ก์ธ์ค ๋คํธ์ํฌ ๋ค์์คํ์ด์ค ๊ด๋ฆฌ
ip [ OPTIONS ] netns { COMMAND | help } ip netns [ list ] ip netns add NETNSNAME ip [-all] netns del [ NETNSNAME ] ip netns set NETNSNAME NETNSID ip netns identify [ PID ] ip netns pids NETNSNAME ip [-all] netns exec [ NETNSNAME ] command... ip netns monitor ip netns list-id
๋คํธ์ํฌ ๋ค์์คํ์ด์ค๋ ๋ ผ๋ฆฌ์ ์ผ๋ก ๋คํธ์ํฌ ์คํ์ ๋ ๋ค๋ฅธ ์ฌ๋ณธ์ด๋ค. ์์ฒด ๋ผ์ฐํธ์ ๋ฐฉํ๋ฒฝ ๊ท์น, ๋คํธ์ํฌ ์ฅ์น๊ฐ ์๋ค.
๊ธฐ๋ณธ์ ์ผ๋ก ํ๋ก์ธ์ค๋ ๋ถ๋ชจ์ ๋คํธ์ํฌ ๋ค์์คํ์ด์ค๋ฅผ ๋ฌผ๋ ค๋ฐ๋๋ค. ์ฒ์์๋ ๋ชจ๋ ํ๋ก์ธ์ค๊ฐ init ํ๋ก์ธ์ค์์ ์จ ๊ธฐ๋ณธ ๋คํธ์ํฌ ๋ค์์คํ์ด์ค๋ฅผ ๊ฐ์ด ๊ณต์ ํ๋ค.
๊ดํ ์ ๊ธฐ๋ช
(named) ๋คํธ์ํฌ ๋ค์์คํ์ด์ค๋ /var/run/netns/NAME
์ ์๋ ์ด ์ ์๋ ๊ฐ์ฒด์ด๋ค. /var/run/netns/NAME
์ ์ด์ด์ ๋์จ ํ์ผ ๋์คํฌ๋ฆฝํฐ๊ฐ ์ง์ ํ ๋คํธ์ํฌ ๋ค์์คํ์ด์ค๋ฅผ ๊ฐ๋ฆฌํจ๋ค. ํ์ผ ๋์คํฌ๋ฆฝํฐ๋ฅผ ์ด์ด ๋๋ฉด ๋คํธ์ํฌ ๋ค์์คํ์ด์ค๊ฐ ๊ณ์ ์ด์ ์๊ฒ ๋๋ค. ์ด ํ์ผ ๋์คํฌ๋ฆฝํฐ๋ฅผ setns(2) ์์คํ
ํธ์ถ์ ์ฌ์ฉํด์ ํ์คํฌ์ ์ฐ๊ณ๋ ๋คํธ์ํฌ ๋ค์์คํ์ด์ค๋ฅผ ๋ฐ๊ฟ ์ ์๋ค.
๋คํธ์ํฌ ๋ค์์คํ์ด์ค๋ฅผ ์ธ์ํ๋ ์์ฉ์์๋ ์ ์ญ ๋คํธ์ํฌ ์ค์ ์ /etc/netns/NAME/
์์ ๋จผ์ ์ฐพ์๋ณธ ๋ค์ /etc/
์์ ์ฐพ๋ ๊ฒ ๊ดํ์ด๋ค. ์๋ฅผ ๋ค์ด vpn์ ๊ฒฉ๋ฆฌ์ํค๊ธฐ ์ํ ์ด๋ ๋คํธ์ํฌ ๋ค์์คํ์ด์ค์ ๋ค๋ฅธ ๋ฒ์ ์ /etc/resolv.conf
๋ฅผ ์ฐ๊ณ ์ถ๋ค๋ฉด ์ด๋ฆ์ /etc/netns/myvpn/resolv.conf
๋ผ๊ณ ํ๊ฒ ๋ ๊ฒ์ด๋ค.
๋คํธ์ํฌ ๋ค์์คํ์ด์ค ๋น์ธ์ ์์ฉ์ ์ํด ip netns exec
๊ฐ ์ด๋ฐ ์ค์ ๋ฐ ํ์ผ ๊ดํ ์ฒ๋ฆฌ๋ฅผ ์๋ํํด ์ค๋ค. ๋ง์ดํธ ๋ค์์คํ์ด์ค๋ฅผ ๋ง๋ค์ด์ ๋คํธ์ํฌ ๋ค์์คํ์ด์ค๋ณ ์ค์ ํ์ผ ๋ชจ๋๋ฅผ /etc
๋ด์ ์ ํต์ ์์น๋ก ๊ฒฐ์(bind) ๋ง์ดํธ ํ๋ค.
-
ip netns list
- ๋ชจ๋ ๊ธฐ๋ช ๋คํธ์ํฌ ๋ค์์คํ์ด์ค ํ์ํ๊ธฐ - ์ด ๋ช ๋ น์ `/var/run/netns` ๋ด์ ๋คํธ์ํฌ ๋ค์์คํ์ด์ค๋ฅผ ๋ชจ๋ ํ์ํ๋ค.
-
ip netns add NAME
- ์ ๊ธฐ๋ช ๋คํธ์ํฌ ๋ค์์คํ์ด์ค ์์ฑํ๊ธฐ - ์ด ๋ช ๋ น์ `/var/run/netns/`์์ NAME์ด ์ฌ์ฉ ๊ฐ๋ฅํ๋ฉด ์ ๋คํธ์ํฌ ๋ค์์คํ์ด์ค๋ฅผ ๋ง๋ค๊ณ NAME์ ๋ถ์ฌํ๋ค.
-
ip [-all] netns delete [ NAME ]
- ๋คํธ์ํฌ ๋ค์์คํ์ด์ค(๋ค)์ ์ด๋ฆ ์ญ์ ํ๊ธฐ -
/var/run/netns
์ NAME์ด ์์ผ๋ฉด ์ธ๋ง์ดํธ ํ๊ณ ๋ง์ดํธ ์ง์ ์ ์ ๊ฑฐํ๋ค. ์ด ๋ช ๋ น์ด ๊ทธ ๋คํธ์ํฌ ๋ค์์คํ์ด์ค์ ๋ง์ง๋ง ์ฌ์ฉ์์ด๋ฉด ๋คํธ์ํฌ ๋ค์์คํ์ด์ค๊ฐ ํด์ ๋๊ณ ๋ชจ๋ ๋ฌผ๋ฆฌ์ ์ฅ์น๋ค์ด ๊ธฐ๋ณธ ๋ค์์คํ์ด์ค๋ก ์ฎ๊ฒจ์ง๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด ๋ ์ด์ ์ฌ์ฉ์๊ฐ ์์ ๋๊น์ง ๋คํธ์ํฌ ๋ค์์คํ์ด์ค๊ฐ ์ ์ง๋๋ค. ๋ง์ดํธ ์ง์ ์ด ๋ค๋ฅธ ๋ง์ดํธ ๋ค์์คํ์ด์ค์์ ์ฌ์ฉ ์ค์ด๋ฉดip netns delete
๊ฐ ์คํจํ ์ ์๋ค.-all
์ต์ ์ ์ง์ ํ๋ฉด ๋ชจ๋ ๋คํธ์ํฌ ๋ค์์คํ์ด์ค ์ด๋ฆ์ด ์ ๊ฑฐ๋๋ค.๋ฌผ๋ฆฌ์ ์ฅ์น๋ฅผ ์ด๋ค netns๋ก ์ฎ๊ธฐ๊ณ ์ ๋์ ํ๋ก์ธ์ค๊ฐ ์๋ ์ฑ๋ก netns๋ฅผ ์ญ์ ํ๋ฉด ๊ทธ ์ฅ์น๋ฅผ ๋์น๊ฒ ๋ ์ ์๋ค.
$ ip netns add net0 $ ip link set dev eth0 netns net0 $ ip netns exec net0 SOME_PROCESS_IN_BACKGROUND $ ip netns del net0
์ด๋ ๊ฒ ํ๋ฉด SOME_PROCESS_IN_BACKGROUND๊ฐ ์ข ๋ฃํ๊ฑฐ๋ ์ฃฝ์ ํ์๋ง eth0๊ฐ ๊ธฐ๋ณธ netns์ ๋ํ๋๊ฒ ๋๋ค. ์ด๋ฅผ ๋ง์ผ๋ ค๋ฉด net0๋ฅผ ์ญ์ ํ๊ธฐ ์ ์ ๊ทธ netns์์ ๋๋ ํ๋ก์ธ์ค๋ค์ ์ฃฝ์ด๋ ๊ฒ ์ข๋ค.
$ ip netns pids net0 | xargs kill $ ip netns del net0
-
ip netns set NAME SETNSID
- ์๋ ๋คํธ์ํฌ ๋ค์์คํ์ด์ค์ id ๋ถ์ฌํ๊ธฐ - ์ด ๋ช ๋ น์ ์๋ ๋คํธ์ํฌ ๋ค์์คํ์ด์ค์ id๋ฅผ ๋ถ์ฌํ๋ค. ์ด id๋ ํ์ฌ ๋คํธ์ํฌ ๋ค์์คํ์ด์ค์์๋ง ์ ํจํ๋ค. ์ปค๋์ด ๋ช ๊ฐ์ง ๋ท๋งํฌ ๋ฉ์์ง์์ ์ด id๋ฅผ ์ฌ์ฉํ๋ค. ์ปค๋์์ ํ์ํ ๋ id๊ฐ ๋ถ์ฌ๋์ด ์์ง ์์ผ๋ฉด ์ปค๋์ด ์๋์ผ๋ก ๋ถ์ฌํ๋ค. ํ๋ฒ ๋ถ์ฌ๋ ํ์๋ ๋ฐ๊พธ๋ ๊ฒ์ด ๋ถ๊ฐ๋ฅํ๋ค.
-
ip netns identify [PID]
- ํ๋ก์ธ์ค์ ๋คํธ์ํฌ ๋ค์์คํ์ด์ค๋ค ์ด๋ฆ ์๋ ค์ฃผ๊ธฐ - ์ด ๋ช ๋ น์ `/var/run/netns`๋ฅผ ๋ค์ ธ์ ์ง์ ํ ํ๋ก์ธ์ค์ ๋คํธ์ํฌ ๋ค์์คํ์ด์ค์ ๋ํ ๋ชจ๋ ๋คํธ์ํฌ ๋ค์์คํ์ด์ค ์ด๋ฆ์ ์ฐพ๋๋ค. PID๋ฅผ ์ง์ ํ์ง ์์ผ๋ฉด ํ์ฌ ํ๋ก์ธ์ค๋ฅผ ์ด๋ค.
-
ip netns pids NAME
- ๊ธฐ๋ช ๋คํธ์ํฌ ๋ค์์คํ์ด์ค ๋ด์ ํ๋ก์ธ์ค๋ค ์๋ ค์ฃผ๊ธฐ - ์ด ๋ช ๋ น์ proc์ ๋ค์ ธ์ ์ฃผ ๋คํธ์ํฌ ๋ค์์คํ์ด์ค๊ฐ ์ง์ ํ ๋คํธ์ํฌ ๋ค์์คํ์ด์ค์ธ ๋ชจ๋ ํ๋ก์ธ์ค๋ฅผ ์ฐพ๋๋ค.
-
ip [-all] netns exec [ NAME ] cmd ...
- ๊ธฐ๋ช ๋คํธ์ํฌ ๋ค์์คํ์ด์ค์์cmd
์คํํ๊ธฐ -
์ด ๋ช ๋ น์ ์ด์ฉํ๋ฉด ๋คํธ์ํฌ ๋ค์์คํ์ด์ค ๋น์ธ์์ธ ์์ฉ์ ๊ธฐ๋ณธ ๋คํธ์ํฌ ๋ค์์คํ์ด์ค ์๋ ์ด๋๊ฐ์์ ๋๋ฆด ์ ์๋ค. ์ง์ ํ ๋คํธ์ํฌ ๋ค์์คํ์ด์ค์ ๋ํ ๋ชจ๋ ์ค์ ๋ค์ด ์ ํต์ ์ธ ์ ์ญ ์์น์ ๋ณด์ธ๋ค. ๋คํธ์ํฌ ๋ค์์คํ์ด์ค์ ๊ฒฐ์ ๋ง์ดํธ๋ฅผ ์ด์ฉํด์ ๋ค๋ฅธ ํ๋ก์ธ์ค์ ์ํฅ์ ๋ผ์น์ง ์๊ณ ๋คํธ์ํฌ ๋ค์์คํ์ด์ค๋ณ ์์น์์ ๊ธฐ๋ณธ ์์น๋ก ํ์ผ๋ค์ ์ฎ๊ธด๋ค.
-all
์ต์ ์ ์ง์ ํ๋ฉด ๊ธฐ๋ช ๋คํธ์ํฌ ๋ค์์คํ์ด์ค ๊ฐ๊ฐ์์ ๋๊ธฐ์ ์ผ๋กcmd
๋ฅผ ์คํํ๋ค. ์ผ๋ถ์์cmd
๊ฐ ์คํจํด๋ ๋ง์ ์คํํ๋ค. ๊ฐcmd
์คํ๋ง๋ค ๋คํธ์ํฌ ๋ค์์คํ์ด์ค ์ด๋ฆ์ ์ฐ๋๋ค. -
ip netns monitor
- ๋คํธ์ํฌ ๋ค์์คํ์ด์ค ์ด๋ฆ ์ถ๊ฐ๋๊ฑฐ๋ ์ญ์ ๋๋ฉด ์๋ ค์ฃผ๊ธฐ - ์ด ๋ช ๋ น์ ๋คํธ์ํฌ ๋ค์์คํ์ด์ค ์ด๋ฆ ์ถ๊ฐ ๋ฐ ์ญ์ ์ด๋ฒคํธ๋ฅผ ๊ฐ์ํด์ ์ด๋ฒคํธ๋ง๋ค ํ ์ค์ฉ ์ฐ๋๋ค.
-
ip netns list-id
- ๋คํธ์ํฌ ๋ค์์คํ์ด์ค id(nsid) ๋์ดํ๊ธฐ - ๋คํธ์ํฌ ๋ค์์คํ์ด์ค id๋ ์๋ ๋คํธ์ํฌ ๋ค์์คํ์ด์ค๋ฅผ ์๋ณํ๋ ๋ฐ ์ฐ์ธ๋ค. ์ด ๋ช ๋ น์ ํ์ฌ ๋คํธ์ํฌ ๋ค์์คํ์ด์ค์ nsid๋ฅผ ํ์ํ๋ฉฐ ๋์ํ๋ (`/var/run/netns`์์ ์จ) iproute2 netns ์ด๋ฆ์ด ์์ผ๋ฉด ์๋ ค ์ค๋ค.
ip netns list
- ํ์ฌ์ ๊ธฐ๋ช ๋คํธ์ํฌ ๋ค์์คํ์ด์ค ๋ชฉ๋ก ๋ณด๊ธฐ
ip netns add vpn
- ๋คํธ์ํฌ ๋ค์์คํ์ด์ค ์์ฑํ๊ณ ์ด๋ฆ์ vpn์ผ๋ก ํ๊ธฐ
ip netns exec vpn ip link set lo up
- vpn ๋คํธ์ํฌ ๋ค์์คํ์ด์ค์์ ๋ฃจํ๋ฐฑ ์ธํฐํ์ด์ค ์ฌ๋ฆฌ๊ธฐ
ip(8)
Eric W. Biederman์ด ๋งจ ํ์ด์ง ์์ฑํจ.
2013๋ 1์ 16์ผ