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

时间: 2024-10-17 07:41:22

linux学习笔记:网络配置详解的相关文章

Struts2学习笔记二 配置详解

Struts2执行流程 1.简单执行流程,如下所示: 在浏览器输入请求地址,首先会被过滤器处理,然后查找主配置文件,然后根据地址栏中输入的/hello去每个package中查找为/hello的namespace,然后在包下寻找名为HelloAction的action,反射创建控制器HelloAction对象,调用method指定的方法hello,拿到返回值“success”,去result的配置节找success对应的页面(hello.js),呈现给用户. 2.Struts的架构,具体参考这里

Redis学习笔记4-Redis配置详解

原文:  http://blog.csdn.net/mashangyou/article/details/24555191 在Redis中直接启动redis-server服务时, 采用的是默认的配置文件.采用redis-server   xxx.conf 这样的方式可以按照指定的配置文件来运行Redis服务.按照本Redis学习笔记中Redis的按照方式按照后,Redis的配置文件是/etc/redis/6379.conf.下面是Redis2.8.9的配置文件各项的中文解释. 1 #daemon

Struts2学习笔记(二)——配置详解

1.Struts2配置文件加载顺序: default.properties(默认常量配置) struts-default.xml(默认配置文件,主要配置bean和拦截器) struts-plugin.xml(配置插件) struts.xml(配置action或者常量等) struts.properties(常量配置) web.xml(配置JavaEE,如:监听器和过滤器) 2.Struts2配置文件详解 1)default.properties default.properties是Struts

Linux网络配置详解

1.前言 对于LINUX而言,如果我们想对其进行网络配置的话,那么主要涉及到如下方面的配置: IP,子网掩码,网关,主机名,DNS服务器地址,路由信息. 那么下面,将对这些方面进行操作配置.如果大家对网络的有关知识,不太清楚的,可以参考我的博客:http://zhangfengzhe.blog.51cto.com/8855103/1438163 [这篇博客将快速让大家了解一些概念] 2.关于ifconfig [[email protected] ~]# ifconfig eth0      Li

Linux学习总结之LVM2详解

大纲: 简介 版本 LVM基本术语 LVM模块 具体操作 对添加的硬盘进行分区( fdisk /dev/[hs]d[a-z] ) 对创建的分区创建物理卷(pvcreate) 给逻辑卷创建逻辑容器(卷组) 在卷组创建大小不同的逻辑卷(lvcreate) 给已存在的卷组扩大容量 实现在线扩大LVM容量 实现缩减LVM容量(不支持在线缩减) 减小卷组容量 利用给LVM创建快照,并完成备份并还原 简介: LVM是Logical Volume Manager(逻辑卷管理器)的简写,又译为逻辑卷宗管理器.逻

Linux学习— /etc/fstab文件详解

目录 /etc/fstab介绍 参数介绍 配置该文件的一些问题 一.介绍 在介绍/etc/fstab之前,需要先了解挂载和该文件的关系: 其实windows也一样需要挂载的,只不过在分区的时候windows被"挂载"到了C,D,E等盘. 任何硬件设备连接后,操作系统使用硬件,即需要挂载.windows只不过是自动"挂载"了,linux需要手动自己搞.在Linux系统下,例如每次挂载/dev/sr0(光盘设备文件)需要手动使用命令mount.当然,每次重启,开启时,硬

linux串口编程参数配置详解

1.linux串口编程需要的头文件 #include <stdio.h>         //标准输入输出定义 #include <stdlib.h>        //标准函数库定义 #include <unistd.h>       //Unix标准函数定义 #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h>          //文件控制定义 #incl

IOS开发学习笔记(1)-----UILabel 详解

1. [代码][C/C++]代码     //创建uilabelUILabel *label1 = [[UILabel alloc] initWithFrame:CGRectMake(20, 40, 280, 80)];//设置背景色label1.backgroundColor = [UIColor grayColor];//设置taglabel1.tag = 91;//设置标签文本label1.text = @"Hello world!";//设置标签文本字体和字体大小label1.

IOS开发学习笔记(2)-----UIButton 详解

1. [代码][C/C++]代码     //这里创建一个圆角矩形的按钮    UIButton *button1 = [UIButton buttonWithType:UIButtonTypeRoundedRect];    //    能够定义的button类型有以下6种,//    typedef enum {//        UIButtonTypeCustom = 0,          自定义风格//        UIButtonTypeRoundedRect,        

VMware 的网络配置详解(二)

如果你已经看完 VMware 的网络配置详解(一)  的话,现在继续来深入理解: 首先在 windows 系统下 使用cmd 程序, 通过使用 ping 命令,ping 一个 可以连接的 外网  主机名 或者 IP 地址: 然后在  fedora15 系统上 ping 同样的主机名: 应该是和网络设置的 类型有关: 我的网卡都是设置 Host-only 的方式: 所以为了使 fedora15 能够 ping 的通主机地址 ,我们来设置下张新的 网卡,但是不使用 Host-only 方式,使用 N