Namespace演習(名前空間の演習)

 

ーーーーーーーーーーーーーーーーーーーーーーーーーーー

名前空間を作成

ーーーーーーーーーーーーーーーーーーーーーーーーーーー

sudo ip netns add server

sudo ip netns add gateway

sudo ip netns add client

 

ーーーーーーーーーーーーーーーーーーーーーーーーーーー

gateway名前空間におけるルーティングを有効化

ーーーーーーーーーーーーーーーーーーーーーーーーーーー

sudo ip netns exec gateway sysctl net.ipv4.ip_forward=1

 

ーーーーーーーーーーーーーーーーーーーーーーーーーーー

関係性を定義した上で仮想インターフェースを作成

ーーーーーーーーーーーーーーーーーーーーーーーーーーー

sudo ip link add server-veth type veth peer name gw-server-veth

sudo ip link add client-veth type veth peer name gw-client-veth

 

ーーーーーーーーーーーーーーーーーーーーーーーーーーー

名前空間に対して、仮想インターフェースを割り当て

ーーーーーーーーーーーーーーーーーーーーーーーーーーー

sudo ip link set server-veth netns server

sudo ip link set gw-server-veth netns gateway

sudo ip link set gw-client-veth netns gateway

sudo ip link set client-veth netns client

 

ーーーーーーーーーーーーーーーーーーーーーーーーーーー

仮想インターフェースにIPアドレスを付与

ーーーーーーーーーーーーーーーーーーーーーーーーーーー

sudo ip netns exec server ifconfig server-veth 192.168.0.100

sudo ip netns exec gateway ifconfig gw-server-veth 192.168.0.1

sudo ip netns exec gateway ifconfig gw-client-veth 10.0.0.1

sudo ip netns exec client ifconfig client-veth 10.0.0.100

 

ーーーーーーーーーーーーーーーーーーーーーーーーーーー

仮想インターフェースのデフォルトゲートウェイを設定

ーーーーーーーーーーーーーーーーーーーーーーーーーーー

sudo ip netns exec client route add default gw 10.0.0.1

sudo ip netns exec server route add default gw 192.168.0.1

 

ーーーーーーーーーーーーーーーーーーーーーーーーーーー

clientからserverに対してPINGを実施

ーーーーーーーーーーーーーーーーーーーーーーーーーーー

sudo ip netns exec client ping 192.168.0.100 -I 10.0.0.100 -c 3

 

ーーーーーーーーーーーーーーーーーーーーーーーーーーー

名前空間を削除

ーーーーーーーーーーーーーーーーーーーーーーーーーーー

sudo ip netns delete server

sudo ip netns delete gateway

sudo ip netns delete client

 

ーーーーーーーーーーーーーーーーーーーーーーーーーーー

名前空間構成図

ーーーーーーーーーーーーーーーーーーーーーーーーーーー

+------------+

|   Server   |

+------------+ (server-veth 192.168.0.100 default gw 192.168.0.1)

      |

+------------+ (gw-server-veth 192.168.0.1)

|   Gateway  |

+------------+ (gw-client-veth 10.0.0.1)

      |

+------------+ (client-veth 10.0.0.100 default gw 10.0.0.1)

|   Client   |

+------------+

 

 

  • Twitter Square
  • facebook-square

Copyright © ASEANLABS, Inc. 2014. All rights reserved.