美文网首页
二十四、docker 网络基本(命名空间1)

二十四、docker 网络基本(命名空间1)

作者: joy_蓝蜘蛛 | 来源:发表于2020-04-08 15:32 被阅读0次

    一、docker 网络分类

    1.1、单机
    Bridge Network
    Host Network
    None Network

    1.2、多机
    Overlay Netowrk

    二、回顾网络基础

    两种传输协议

    1、ISO/OSI 分为7层
    应用层 表示层 会话层 运输层 网络层 数据链路层 物理层

    2、TCP/IP (用的最多的)
    应用层 传输层 IP 层 网络接口 硬件

    三、网络地址转换NAT

    image.png

    内网访问公网的原理。

    四、常用网络检查命令

    4.1 ** ping **
    查看目标机器网络是否通

    ping ip地址
    

    4.2 ** telnet **
    查看目前机器上的某个端口号是否启动。一般判断远程的某一个应用是否启动

    telnet ip  端口号
    

    4.3 ** ip link**
    查看链路层状态

    五、docker 网络命名空间(Network space)

    5.1、查看本机NetworkSpace (网络全名空间)

     ip netns list
    

    5.2、创建网络命名空间

    ip netns add test1
    

    5.3、删除网络命名空间

    ip netns delete test1
    

    5.4、查看某一个全名空间下的 ip地址

    ip netns exec test ip a
    
    image.png

    会发现刚创建的命名空间没有起来是DOWN状态 ,也没有ip 地址

    5.5、可以通过ip link管理 命名空间状态
    查看 link

    ip netns exec test1 ip link
    

    把test1 网络状态 DOWN UP起来

    ip netns exec test1 ip link set dev lo up
    
    image.png

    启来后发现状态变成UNKNOWN 了。 而不是UP ,原因是一个命名空间的link必需要与另外一个全名空间的link连接起来。才能up。就像一网络端口。必需要用网线连接起来才能通讯

    六、连接两个命名空间中的link

    比喻解释:网络命名空间相当于两台电脑。如果要让两个网络命名空间相连分别要在两个电脑中加一个插口。然后就网线连接两个插口。那么这个插口就是Veth pair. 所以就需分别在两个命名空间中加上Veth 给他们配上ip地址。然后就可以相通。

    **6.1在本机添加一对 link veth-test1 和veth-test2 这一对是peer(相通相等的) **

    ip link add veth-test1 type veth  peer name veth-test2
    

    6.2查看添加的 link

    ip link 
    
    添加的link 状态是down 没有ip地址

    6.3 把veth-test1 link 添加到 test1命名空间当中

    ip link set veth-test1   netns test1
    

    6.4 把veth-test2 link 添加到 test2命名空间当中

    ip link set veth-test2   netns test2
    

    6.5给veth-test1和veth-test2添加ip 地址

    ip netns exec test1 ip addr add 192.168.2.1/24 dev veth-test1
    ip netns exec test2 ip addr add 192.168.2.2/24 dev veth-test2
    
    

    把两个命名空间下的veth up起来

    ip netns exec test1 ip link set dev veth-test1 up 
    ip netns exec test2 ip link set dev veth-test2 up
    

    查看一个命名空间的ip地址

    ip netns exec test1 ip a
    ip netns exec test2 ip a
    
    test1 test2

    7、测试两个命名空间的连通

    test1中 ping test2

    ip netns exec test1 ping 192.168.2.2
    
    两者是相通的

    相关文章

      网友评论

          本文标题:二十四、docker 网络基本(命名空间1)

          本文链接:https://www.haomeiwen.com/subject/uaktmhtx.html