0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Linux 基础知识中的网络命名空间

汽车电子技术 来源:码农与软件时代 作者:码农与软件时代 2023-02-15 11:03 次阅读

为什么要引入命名空间?有哪些?

Linux系统是一个多用户操作系统,通常是服务器的操作系统。

服务器通常会运行很多服务,在其有限的资源下,必然会造成资源的争抢,可能导致整个服务器宕机。

需要找到一种方法来解决上面的问题,Linux便引入了命名空间机制(NameSpace)。

Linux包含PID(进程)、Network(网络)、Mount(挂载)、User(用户)、UTS(主机名)、IPC(进程间通信)等命名空间。

网络命名空间是什么?

Linux网络命名空间可以看成网络协议栈的副本,每个网络命名空间拥有独立的网络环境(回环设备、IPv4等)。

默认情况下,Linux提供init_net网络命名空间,网络协议栈和网络设备属于此命名空间。Linux也可支持用户自定义网络命名空间。

网络设备通过在其结构体中定义网络命名空间,来标识其属于某个网络命名空间。

用户如何自定义网络命名空间?

用户可以使用iproute2工具来自定义网络命名空间。

基础命令:

root@linux:/var/run# ip netns help
Usage: ip netns list # 列出网络命名空间
      ip netns add NAME  # 创建 NAME 命名空间
      ip netns set NAME NETNSID # 分配网络命名空间id
      ip [-all] netns delete [NAME] # 删除 NAME 命名空间
      ip netns identify [PID] # 查看进程的网络命名空间
      ip netns pids NAME  # 查找使用 NAME 网络命名空间的进程
      ip [-all] netns exec [NAME] cmd ... # 在 NAME 网络命名空间中执行命令CMD
      ip netns monitor # 监控对网络命名空间的操作
      ip netns list-id #

创建命名空间:

root@linux:/var/run# ip netns add netns0
root@linux:/var/run# ip netns list
netns0

命名空间文件在/var/run/netns/目录下

root@linux:/var/run# ls /var/run/netns/
netns0

查看netns0的网卡信息,并设置为UP状态

root@linux:/var/run# ip netns exec netns0 ip addr
1: lo:  mtu 65536 qdisc noop state DOWN group default qlen 1000
   link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

测试回环口

root@linux:/var/run# ip netns exec netns0 ping 127.0.0.1
PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data.
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.069 ms
64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.041 ms
64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.039 ms
64 bytes from 127.0.0.1: icmp_seq=4 ttl=64 time=0.039 ms
^C
--- 127.0.0.1 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3074ms
rtt min/avg/max/mdev = 0.039/0.047/0.069/0.012 ms
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 服务器
    +关注

    关注

    12

    文章

    8124

    浏览量

    82538
  • 操作系统
    +关注

    关注

    37

    文章

    6290

    浏览量

    121897
  • Linux系统
    +关注

    关注

    4

    文章

    567

    浏览量

    26923
收藏 人收藏

    评论

    相关推荐

    Linux应用程序开发_基础知识

    Linux应用程序开发_基础知识
    发表于 08-16 16:32

    华为网络基础知识教程

    华为网络基础知识教程
    发表于 08-18 15:16

    linux_,Android基础知识总结

    linux_,Android基础知识总结
    发表于 08-20 13:32

    Linux下C语言编程基础知识

    Linux下C语言编程基础知识
    发表于 08-20 17:21

    Linux基础知识学习

    Linux基础知识学习1.Linux的构成Linux系统主要分为四个部分:内核、文件系统、shell、应用内核主要功能:对文件的管理、对内存的管理、进程调度、进程间通讯和
    发表于 03-20 21:42

    第29章 NTP网络时间协议基础知识

    转帖 本章节为大家讲解NTP (Network Time Protocol,网络时间协议)和SNTP(简单网络时间协议,Simple Network Time Protocol)的基础知识,方便后面
    发表于 11-27 16:47

    Linux命名空间机制

    Linux命名空间概述
    发表于 03-18 14:40

    Linux基础知识和命令

    Linux基础知识和命令
    发表于 06-14 06:39

    网络空间安全

    1 绪论课程目标:系统而全面的了解网络空间安全方面的基础知识、认识安全隐患、掌握相应的防范方法、提高大家的安全意识。课程重点:勾勒网络空间安全的框架。课程内容安排:安全法律法规物理设备安全网络
    发表于 07-02 08:01

    linux+Android基础知识总结

    linux+Android基础知识总结
    发表于 03-19 11:23 0次下载

    linux /Android 基础知识总结大全

    本文档介绍了linux /Android 基础知识总结大全,包含了源代码以及详解,供网友参考。
    发表于 09-11 17:46 7次下载

    linux Android基础知识总结

    linux Android基础知识总结
    发表于 10-24 09:00 6次下载
    <b class='flag-5'>linux</b> Android<b class='flag-5'>基础知识</b>总结

    这100条网络基础知识你知道多少

    100 个网络基础知识普及,看完成半个网络高手!
    的头像 发表于 02-03 15:51 1w次阅读

    linux操作系统基础知识

    本文主要阐述了linux操作系统基础知识
    发表于 06-04 15:07 5777次阅读

    Linux用户态开发驱动教程及基础知识

    Linux用户态开发驱动教程及基础知识
    发表于 07-14 10:06 7次下载