Upgrade to Pro — share decks privately, control downloads, hide ads and more …

簡介 Linux 的 Network Namespace 功能

Chen John L
February 27, 2016

簡介 Linux 的 Network Namespace 功能

( SITCON 2016 Unconference )
本場演講將簡介 network namespace 功能,並且簡易的示範。
不少人都知道ADSL/光纖網路其實是有多個浮動IP的,但是如果只有一台電腦,那就只能使用一個IP,如果想要同時使用多個IP,就要拿不少儲存空間跟記憶體來開虛擬機。
然而,如果使用 Linux 的 network namespace 功能,就可以只虛擬化網路的部份,用少量資源多開ADSL連線,然後將一般程式分配到這些連線下面,讓他們用不同IP上網,達到多IP上網,讓搶票,開分身,快速免空抓檔,跑網路爬蟲之類的事情事半功倍。

Chen John L

February 27, 2016
Tweet

More Decks by Chen John L

Other Decks in Programming

Transcript

  1. whoami • Zuan • 台科大學生 • 前年 SITCON 講者 (

    關於遊戲外掛 ) • HITCON 議程組 / 翻譯組 • chroot 讀書會成員
  2. Bridge 相關指令 • 需要安裝 bridge-utils 才能使用 brctl • brctl show

    – 顯示 bridge 狀況 • brctl addbr/delbr – 新增 / 刪除 bridge 界面 • brctl addif – 將界面新增至 bridge 界面 • brctl delif – 將界面從 bridge 移除
  3. 什麼是 Network Namespace? • 一個可以讓你只虛擬化網路部份的功能 – 獨立的 ( 虛擬 )

    網卡列表 , Routing Table, Resolver 設定 , 防火牆設定 • Linux 特有 (Darwin/Windows 無類似功能 ) • 最近幾年才出現 ( 約 Kernel 3.0 開始有有 ) • 是輕量化虛擬技術的基礎 – Docker, LXC, 甚至 OpenVZ 都是用他 • 很少被單獨使用
  4. Network Namespace 相關指令 • ip netns add <NetNS 名稱 >

    – 新增 NetNS • ip netns list – 列出現有的 NetNS • ip netns identify <PID> – 顯示 PID 所在的 NetNS • ip netns identify $$ – 顯示目前的 NetNS • ip netns exec <NetNS 名稱 > < 指令 > – 在 NetNS 執行指令
  5. Network Namespace 相關指令 • ip link add <veth 名稱 >

    type veth peer name <veth 另一端名稱 > – 建立一個 veth 裝置 • ip link set <veth 名稱 > netns <NetNS 名稱 > – 將 veth 遷到 NetNS.