Loading... <h1 id="wiz_toc_0">Linux Network Manager</h1> <hr /> <ul class=" list-paddingleft-2"> <li> <p>Network简述</p> </li> <li> <p>Switch,Router简述</p> </li> <li> <p>Linux Network 配置方法</p> </li> <li> <p>ifcfg家族命令</p> </li> <li> <p>ip家族命令</p> </li> <li> <p>rhel7 nmcli命令</p> </li> <li> <p>配置文件</p> </li> </ul> <h2 id="wiz_toc_1">Network简述</h2> <p>Network是什么? <br />网络是将分布在地理位置不同的计算机通过物理线路的连接,在网络软件的管理下,实现数据通信的过程。 <br />Network有什么功能? <br />实现数据通信,资源共享,负载均衡。</p> <h3 id="wiz_toc_2">OSI七层参考模型</h3> <p><img src="//cto.wang/usr/uploads/2016/07/20160703161117-72.png" alt="osi" title="" style="border: 0px;max-width: 100%;margin: 2px 0px;height: auto !important" /> <br /><img src="//cto.wang/usr/uploads/2016/07/20160703161117-2.jpg" alt="头文件添加" title="" style="border: 0px;max-width: 100%;margin: 2px 0px;height: auto !important" /></p> <p>ps 上述两图引用自网络。。。为什么不自己做。。因为我懒。。。。</p> <p><strong>底层为高层提供服务,并相同层只能认知相同层,数据通过1->7时,自动添加头文件并转换源数据的格式。 <br />报文->数据包->数据帧->比特流</strong></p> <h2 id="wiz_toc_3">Switch,Router简述</h2> <h3 id="wiz_toc_4">Switch</h3> <p>二层Switch工作在OSI的第二层,数据通过广播的方式依靠MAC地址传输,能够划分冲突域,并搭建小型的局域网络。</p> <h3 id="wiz_toc_5">Router</h3> <p>Router工作在OSI的第三层,能够连接不同的两个网络,转发网络封包,自动学习路由表,能够划分广播域。</p> <h2 id="wiz_toc_6">Linux Network 配置方法</h2> <ol class=" list-paddingleft-2"> <li> <p>通过命令配置。 <br style="margin-top: 0px" />ifconfig,route,netstat <br />ip,nmcli,ss</p> </li> <li> <p>通过配置文件。 <br style="margin-top: 0px" /><code>/etc/sysconfig/network-scripts/ifcfg-*</code></p> </li> <li> <p>DHCP</p> </li> </ol> <h2 id="wiz_toc_7">ifcfg家族命令</h2> <p>ifcfg一系列命令是非常古老的命令,应用于各大发行版。</p> <h3 id="wiz_toc_8">ifconfig</h3> <p>ifconfig [OPTION] [INTERFACE]:显示网卡信息。</p> <pre> -v:vorbose -a:all -s:short list</pre> <p>ifconfig < INTEFACE > [COMMAND]:设置网卡属性(ip,mask),是否启用。</p> <pre> [IP/MASK]:设定IP与mask [UP|DOWN]:是否启用 [[-]promisc]:混杂模式</pre> <p>配置立即生效</p> <h3 id="wiz_toc_9">route</h3> <p>route [OPTION] [COMMAND]:不带参数即显示本机路由信息。</p> <pre>OPTION: -[4|6]:指定IP地址类型 COMMAND: add [-net|-host] ip/mask <gw> gw_address:添加一个NEW路由,指定目标ip/mask,下一跳地址。 del [-net|-host] ip/mask <gw> gw_address:删除一个路由信息。 dev [INTEFACE]:与add等命令搭配使用,强制路由信息与一个IF绑定。</pre> <h3 id="wiz_toc_10">netstat</h3> <p>netstat [OPTION] :显示网络信息。</p> <pre> -r:显示路由信息。 -I [device]:显示指定网络接口信息。 -i:列出所有网络接口信息。 -t:tcp -u:udp -n:以数字的形式。 -a:all -l:显示listen状态的套接字信息。 -e:显示扩展信息。 -p:显示pid以及进程信息。 -w:显示原始套接字信息。</pre> <h2 id="wiz_toc_11">IP家族命令</h2> <p>IP命令是比较新的一款网络管理命名,拥有更加强大的功能。</p> <h3 id="wiz_toc_12">ip命令</h3> <p>ip [OPTIONS] OBJECT [COMMAND [ARGUMENTS]] PS.之后的子命令格式省略[OPTION]选项</p> <pre>OPTION -s:详细信息。 -f [Protocol]:指定强制使用的协议种类,默认为inet,any。</pre> <h4 id="wiz_toc_13">ip link [COMMAND]:网络设备设置。</h4> <pre> show:显示所有网络设备信息。 ip link show [INTEFACE] add:创建一个虚拟设备。 ip link add [COMMAND [ARGUMENTS]] [name [NAME]]:指定设备名称。 [address [MAC_ADDRESS]]:指定MAC地址。 ...(更加多设置请参考 man ip-link ) delete :删除一个虚拟设备。 ip link delete [INTEFACE] set:修改设备属性。 ip link set [INTEFACE] [COMMAND [ARGUMENTS]] type [TYPE| [TYPE]= bridge|can|dummy|ifb|ipoib|macvlan|vcan|veth|vlan|vxlan|ip6tnl|ipip|sit [up|down]:启动/关闭设备。 [name [NEW_NAME]]:修改设备名称。 [promisc [on|off]]:混杂模式。 [arp [on|off]]: 地址解析协议。 [address [MAC_ADDRESS]]:修改MAC地址。 [mtu [#]]:修改最大传输单元。 [txqueuelen [#]]:修改传输队列的长度。 [multicast [on/off]]:组播。</pre> <h4 id="wiz_toc_14">ip address [COMMAND]:协议地址管理。</h4> <pre> show:显示协议地址。 ip address show [COMMAND[ARGUMENTS]] [dev [INTEFACE]]:查看指定设备名称的信息。 [up]:查看运行的设备。 [primary|secondary]:only list primary|secondary addresses。 ... add:创建一个新的协议地址。 ip address add <IP_address> <dev [DEV_NAME]> [COMMAND[ARGUMENTS]] [scope [global|site|link|host]]:指定作用域,global全局,site本地站点,link当前设备,host当前主机。 del:删除一个协议地址。 ip address del <IP_address> <dev [DEV_NAME]> flush:清除协议地址。 ip address flush [dev [DEV_NAME]] [scope [SCOPE-ID]]</pre> <h4 id="wiz_toc_15">ip route [COMMAND]:路由管理。</h4> <pre> list:列出route信息。 ip route list add:创建一个路由信息。 ip route add <target_ip> via <next_jump_address> dev [DEV] [dev [DEV]]:绑定网络接口,即所有到此地址的包,都要从此网卡经过。 del:删除一个路由信息。 ip route del <target_ip></pre> <hr /> <h3 id="wiz_toc_16">ss命令:显示网络状态信息</h3> <p>ss [OPTION]</p> <pre> -t:tcp -u:udp -n:numble -a:all -l:listen -e:扩展 -4:ipv4 -6:ipv6 -w:原始套接字</pre> <h2 id="wiz_toc_17">RHEL7 nmcli命令</h2> <p>nmcli [OPTIONS] OBJECT [COMMAND]</p> <h3 id="wiz_toc_18">nmcli general [COMMAND]:常规NM状态。</h3> <pre> status 显示状态 hostname 显示主机名</pre> <h3 id="wiz_toc_19">nmcli networking [COMMAND]:设置网络状态。</h3> <pre> [off|no]</pre> <h3 id="wiz_toc_20">nmcli radio [COMMAND]:显示和设置交换广播状态[wifi]。</h3> <pre> all 显示所有。 wifi [on|off] wwan [on|off] wimax [on|off]</pre> <h3 id="wiz_toc_21">nmcli connection [COMMAND]:开始,停止和管理网络连接。</h3> <pre> show [INTERFACE] [INTEFACE] [DOWN|UP] :开启/关闭网络接口 delete [INTEFACE] add setting 属性值 ... modify [INTEFACE] [+|-]setting 属性值 ... setting: ipv4.dns ipv4.gateway ...</pre> <h3 id="wiz_toc_22">nmcli device [COMMAND]:显示和管理网络接口。</h3> <pre> status:状态信息。 show [INTERFACE]:详细信息。 connect [INTERFACE]:激活网络接口。 disconnect [INTERFACE]:关闭网络接口。 delete [INTERFACE]:删除。 wifi [list [ifname <ifname>] [bssid <BSSID>]] wifi connect <(B)SSID> [password <password>] [wep-key-type key|phrase] [ifname <ifname>] :连入wifi。 [bssid <BSSID>] [name <name>] [private yes|no] wifi rescan [[ifname] <ifname>]:重新扫描wifi。</pre> <h2 id="wiz_toc_23">配置文件配置</h2> <h3 id="wiz_toc_24">指定DNS服务器:</h3> <pre>/etc/resolv.conf nameserver DNS_Server_IP1 nameserver DNS_Server_IP2 nameserver DNS_Server_IP3</pre> <h3 id="wiz_toc_25">配置网络接口文件:</h3> <pre>/etc/sysconfig/network-scriptes/ifcfg-* [IPADDR]=IP ip地址。 [NETMASK]=MASK 子网掩码。 [GETEWAY]=GW 网关。 [DNS1]=DNS1 dns服务器1 [DNS2]=DNS2 dns服务器2 [DEVICE]=DEVICE_NAME 设备名称。 [ONBOOT]=yes|no 是否在系统引导时激活此设备。 [BOOTPROTO]=Protocol_TYPE 地址配置协议类型,常用的有DHCP STATIC BOOTP NONE [NM_CONTROLLED]=yes|no 是否允许接受Network Manager的管理。 [TYPE]=INTFACE_TYPE 指定网络接口类型,常用的有Ethernet Bridge [UUID]=UUID [USERCTL]=yes|no 是否允许普通用户控制此设备。 [PEERDNS]=yes|no 如果BOOTPROTO的值为DHCP,是否允许dhcp server分配的dns服务器指向信息直接覆盖/etc/resolv</pre> <h3 id="wiz_toc_26">配置路由文件:</h3> <pre>/etc/sysconfig/network-scriptes/route-* 风格一: target_ip via next_jump 风格二: ADDRESS#=target_ip NETMASK$=MASK GETEWAY#=NEXT_JUMP ps 两种风格在一个配置文件中只能选择一种。</pre> <h3 id="wiz_toc_27">网络接口名称配置文件:</h3> <pre>/etc/udev/rules.d/70.persistent-net.rules</pre> <h4 id="wiz_toc_28">接口命名规则:</h4> <p>1.集成设备的索引信息,eno# <br />2.主板PCI-E扩展槽信息,ens# <br />3.硬件接口物理位置信息,enp#s# <br />4.MAC地址,enx# <br />5.默认名,eth#</p> <p>PS RHEL7网络接口的具体命名规则请自行查询。</p> <h5 id="wiz_toc_29">如果想要将文件名改回eth#,可以将/etc/udev/rules.d/下所有文件都链接到/dev/null</h5> <pre>[RHEL7] ln -s /dev/null [/etc/udev/rules.d/FILE_NAME]</pre> <p></p> 最后修改:2021 年 12 月 10 日 10 : 53 AM © 允许规范转载 赞赏 如果觉得我的文章对你有用,请随意赞赏 赞赏作者 支付宝微信