码迷,mamicode.com
首页 > 系统相关 > 详细

linux学习笔记:网络配置详解

时间:2015-12-28 06:48:10      阅读:374      评论:0      收藏:0      [点我收藏+]

标签:马哥linux 网卡配置

 我们安装好一台linux主机系统,要想将其接入网络就需要配置好网络配置了,centos5.x,centos6.x,到现在的centos7.x主要有三大配置网络的家族工具供我们使用:

    这里主要以静态配置网络地址方式说明,首先从古老的ifcfg家族命令开始介绍:

        ifcfg家族:ifconfig,route,netstat

            ifconfig命令:网卡接口的查看和管理

                格式:ifconfig [interface]

                        -a:显示所有的接口信息,包含没有激活状态的接口;

                        -s:简单显示接口的网络状况;

                    ifconfig interface [aftype] options | address ...

                        ifconfig IFACE IP/MASK [up|down]

                        ifconfig IFACE IP netmask NETMASK

                        例:技术分享

技术分享

                        还可以在一块网卡上添加多个IP:

技术分享

                常用选项:

                        [-]promisc:打开网卡的混杂模式,也就是网络中所有接口的流量都会接收;

                这个命令还可以为网卡设置IPv6的地址信息:

                        add addr/prefixlen

                        del addr/prefixlen

            route命令:路由查看和管理

                查看:route -n技术分享

                添加:route  add  [-net|-host]  target  [netmask  Nm]  [gw GW]  [[dev] If]

技术分享

                删除:route  del  [-net|-host] target  [gw Gw]  [netmask Nm]  [[dev] If]

技术分享

            netstat命令:

                显示路由表:netstat -rn

                    -r:显示内核路由表;

                    -n:以数字格式显示;

技术分享

                显示网络连接:netstat  [--tcp|-t]  [--udp|-u]  [--udplite|-U]  [--sctp|-S]  [--raw|-w]  [--listening|-l]  [--all|-a]  [--numeric|-n]   [--extend|-e[--extend|-e]]  [--program|-p]

                    -t:TCP协议的相关连接及其状态;

                    -u:UDP协议相关连接;

                    -l:处于监听状态的连接;

                    -a:所有状态的连接;

                    -n:以数字格式显示IP和Port;

                    -e:扩展格式;

                    -p:显示相关的进程及PID;

                    常用格式:-tan,-uan,-tnl,-tunlp

                        -tan

技术分享

                        -uan

技术分享

                        -tnl

技术分享

                        -tunlp

技术分享

                    显示接口网络统计信息:

                        -i:显示所有接口信息

                        -I<IFACE>:显示指定网卡接口信息;

技术分享

              ifup/ifdown命令:

                    这两个命令是通过配置文件来识别接口并完成配置的;  

        iproute家族:

            ip命令:

                命令格式:ip [ OPTIONS ] OBJECT { COMMAND | help }

                                            OBJECT := { link | addr | route | netns  }

                    ip OBJECT:

                        ip link:网卡设备配置

                            ip link set:配置设备属性;

                                属性:dev NAME(default):指明要管理的设备名称,dev关键字可以省略;

                                    up/down:启用或停止网卡;

                                    multicast on/multicast off:启用或禁用多播功能;

                                    name NAME:重命名接口;

                                    mtu NUMBER:设置MTU的大小,默认为1500;

                                    netns PID:ns为namespace,用于将接口移动到指定的网络名称空间;

                            ip link show:显示网卡信息;

                            ip link help:显示简要的使用信息;

技术分享

                        ip netns:管理网络命名空间;

                            ip  netns  list:列出所有的netns

                            ip  netns  add  NAME:创建指定的netns

                            ip  netns  del  NAME:删除指定的netns

                            ip  netns   exec  NAME  COMMAND:在指定的netns中运行命令

                        ip address:管理网络地址;

                            格式:ip  addr  add  IFADDR  dev  IFACE;

                            常用选项:

                                    [label NAME]:为额外添加的地址指明接口别名;

                                    [broadcast ADDRESS]:广播地址;会根据IP和NETMASK自动计算得到;

                                    [scope SCOPE_VALUE]:

                                        global:全局可用;

                                        link:接口可用;

                                        host:仅本机可用;   

技术分享

                                ip addr  delete  IFADDR  dev  IFACE:删除地址配置

                                ip  addr   list  [IFACE]:显示接口的地址

                                ip  addr  flush  dev  IFACE:清空网卡配置

                    ip route:路由表管理

                        ip route add:添加新路由

                        ip route change:改变路由;

                        ip route replace:改变或添加一个新路由;

                                ip  route   add  TYPE PREFIX  via GW  [dev  IFACE]  [src SOURCE_IP]

技术分享

                                      via:下一跳路由地址

技术分享

                        ip  route  del  TYPE PRIFIX:删除一个路由

                        ip route show:显示路由表信息;

                        ip route flush:清空路由表

                        ip  route  get  TYPE PRIFIX:获取一个简单的路由表;

        

            ss命令:

                格式:ss  [options]  [ FILTER ]

                常用选项:

                        -t:TCP协议的相关连接

                        -u:UDP相关的连接

                        -w:raw socket相关的连接

                        -l:监听状态的连接

                        -a:所有状态的连接

                        -n:数字格式

                        -p:相关的程序及其PID

                        -e:扩展格式信息

                        -m:内存用量

                        -o:计时器信息

                 FILTER := [ state TCP-STATE ]  [ EXPRESSION ]

                    TCP的常见状态:

                        TCP FSM:

                            LISTEN:监听

                            ESTABLISEHD:建立的连接

                            FIN_WAIT_1:等待断开连接状态1

                            FIN_WAIT_2:等待断开连接状态2

                            SYN_SENT:发出断开连接请求状态;

                            SYN_RECV:接收到断开连接请求;

                            CLOSED: 关闭连接状态

技术分享

            最后要介绍的就是centos7中使用的新贵nmcli,nmtui:

                命令行:nmcli

                图形化:nmtui

                    nmcli命令:

                            nmcli  [ OPTIONS ] OBJECT { COMMAND | help }

                            device - show and manage network interfaces

                                    COMMAND := { status | show | connect | disconnect | delete | wifi | wimax }

                            connection - start, stop, and manage network connections

                                    COMMAND := { show | up | down | add | edit | modify | delete | reload | load }

                                modify [ id | uuid | path ] <ID> [+|-]<setting>.<property> <value>

                                如何修改IP地址等属性:

                                    # nmcli  conn  modify  IFACE  [+|-]setting.property  value

                                        ipv4.address

                                        ipv4.gateway

                                        ipv4.dns1

                                        ipv4.method

                                        manual

                    由于nmcli命令还不是很成熟,暂不做过多解释

                        nmtui命令:跟centos5.x,centos6.x中的setup命令界面相似,可以通过该可视界面配置网络,但得重启网卡生效;

技术分享

                            图形界面简单易用,我就不做过多介绍了。

        除了上边介绍的三大管理网络配置家族的工具,我们还可以通过修改配置文件来使得修改的网络属性永久生效:

            /etc/sysconfig/network-scripts/ifcfg-IFACE系列文件,我们可以通过他们来修改ip地址,子网掩码,网关,DNS等相关信息;(IFACE指接口名称)

            /etc/sysconfig/network-scripts/route-IFACE文件,可以通过修改此文件来使得通过该接口的路由信息永久生效

            ifcfg-IFACE文件通过大量的参数来定义接口的属性,可以通过vim等编辑器修改,也可以通过setup(centos6.x)或nmtui(centos7.x)工具来修改,下面介绍一下该配置文件的常用参数:

                DEVICE:此配置文件对应的设备的名称;

                ONBOOT:在系统引导过程中,是否激活此接口;

                UUID:此设备的惟一标识;

                IPV6INIT:是否初始化IPv6;

                BOOTPROTO:激活此接口时使用什么协议来配置接口属性,常用的有dhcp、bootp、static、none;

                TYPE:接口类型,常见的有Ethernet, Bridge;

                DNS1:第一DNS服务器指向;

                DNS2:备用DNS服务器指向;

                DOMAIN:DNS搜索域;

                IPADDR: IP地址;

                NETMASK:子网掩码;CentOS 7支持使用PREFIX以长度方式指明子网掩码;

                GATEWAY:默认网关;

                USERCTL:是否允许普通用户控制此设备;

                PEERDNS:如果BOOTPROTO的值为“dhcp”,是否允许dhcp server分配的dns服务器指向覆盖本地手动指定的DNS服务器指向;默认为允许;

                HWADDR:设备的MAC地址;

                NM_CONTROLLED:是否使用NetworkManager服务来控制接口;

            如果要让添加的非默认路由信息生效,就要在/etc/sysconfig/network-scripts/目录下创建配置文件ifcfg-IFACE文件了:

                 支持两种配置方式,但不可混用;

                    (1) 每行一个路由条目:

                        TARGET  via  GW

                    (2) 每三行一个路由条目:

                        ADDRESS#=TARGET

                        NETMASK#=MASK

                        GATEWAY#=NEXTHOP 

            注意:通过配置文件修改生成的网络配置要想生效,都要通过重启网络服务达成;

                    CentOS 6:service  network  restart

                    CentOS 7:systemctl  restart  network.service      


本文出自 “amengmon” 博客,请务必保留此出处http://amengmon.blog.51cto.com/10985711/1728812

linux学习笔记:网络配置详解

标签:马哥linux 网卡配置

原文地址:http://amengmon.blog.51cto.com/10985711/1728812

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!