一:相关网络配置的文件

1、网卡名配置相关文件

网卡名命名规则文件:

/etc/udev/rules.d/70-persistent-net.rules

# PCI device 0x8086:0x100f (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:db:c9:5c", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0" # PCI device 0x8086:0x100f (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:db:c9:66", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"

修改网卡命名示例:

1、查看网卡的驱动并且卸载网卡驱动

[root@rhel6 ~]# ethtool -i eth0
driver: e1000 #网卡驱动
[root@rhel6 ~]# modprobe -r e1000 #卸载网卡驱动

2、修改70-persistent-net.rules文件

3、重新加载网卡驱动并且重启网络服务

[root@rhel6 ~]# modprobe e1000   #重新加载网卡驱动
[root@rhel6 ~]# /etc/rc.d/init.d/network restart #重启网络服务

将CentOS7.x网卡名改为传统命名方式:

1、修改/etc/default/grbu文件

# sed -i.bak -r 's/(GRUB_CMDLINE_LINUX=.*)"/\1 net.ifnames=0"/' /etc/default/grub

2、生成新的grub配置文件并重启生效

grub2-mkconfig -o /etc/grub2.cfg

2、网络配置相关文件

网络配置参考文件:/usr/share/doc/initscripts-9.03.53/sysconfig.txt

网卡的配置在:/etc/sysconfig/network-scripts/下,配置文件:ifcfg-网卡名

配置文件示例:

[root@rhel6 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=static|dhcp|none
IPADDR=192.168.0.6
NETMASK=255.255.255.0
#PREFIX=24 #子网掩码
GATEWAY=192.168.0.1
DNS1=114.114.114.114
DNS2=8.8.8.8
DNS3=1.1.1.1
TYPE=Ethernet
ONBOOT=yes
HWADDR=00:0C:29:DB:C9:5C
#MACADDR=00:0C:29:DB:C9:5A #修改MAC地址
UUID=38d329c5-b1bb-491b-a669-47422cfda764
NM_CONTROLLED=no

网络配置文件常用配置参数详解:

  • DEVICE:此配置文件应用到的设备
  • HWADDR:对应的设备的MAC地址
  • BOOTPROTO:激活此设备时使用的地址配置协议,常用的dhcp, static, none, bootp
  • NM_CONTROLLED:NM是NetworkManager的简写,此网卡是否接受NM控制;建议为“no”(NetworkManager:图形界面的网络配置工具,不支持桥接,强烈建议关闭)
  • ONBOOT:在系统引导时是否激活此设备
  • TYPE:接口类型,常见有的Ethernet, Bridge
  • UUID:设备的惟一标识
  • IPADDR:指明IP地址
  • NETMASK:子网掩码
  • GATEWAY: 默认网关
  • DNS1:第一个DNS服务器指向
  • DNS2:第二个DNS服务器指向
  • USERCTL:普通用户是否可控制此设备
  • PEERDNS:如果BOOTPROTO的值为“dhcp”,是否允许dhcp server分配的dns服务器指向信息直接覆盖至/etc/resolv.conf文件中

3、其他相关配置文件

路由配置文:/etc/sysconfig/network-scripts/route-interface

  • NETWOEK/NETMASK via GATEWAY

DNS配置文件:/etc/resolv.conf

  • nameserver DNS_IP

本地网络解析配置文件:/etc/hosts

  • IP  hostname alias

主机名配置文件:

  • centos6.x:/etc/sysconfig/network
  • centos7.x:/etc/hostname

二:关于网络的配置Tools

①ifconfig

  • -a:查看启用和被禁用的网卡信息
  • interface {up|down}:启用或禁用网卡
  • interface IP/NETMASK:临时设置IP
  • interface [-]promisc:设置网卡的工作在混杂模式
  • -s interface:查看指定网卡的流量信息

②route

  • -n:以数字方式显示,不解析,提高效率
  • add {-net | -host} NETWORK/NETMASK gw GATEWAY dev DEVICE 添加路由
  • {add | del} default gw GATEWAY 添加或删除默认路由
  • del {-net | -host} NETWORK/NETMASK gw GATEWAY 删除路由
route add -net 10.0.0.0/8 gw 172.20.0.1 dev eth1 #添加一条到10.0.0.0网段的路由
route del -net 10.0.0.0/8 gw 172.20.0.1 #删除10.0.0.0网段的路由

③netstat

  • -n:以数字方式显示,不解析,提高效率
  • -r:查看路由表
  • -t:TCP相关
  • -u:UDP相关
  • -w:裸套接字
  • -l:查看处于监听状态的端口
  • -a:查看所有状态的端口
  • -e:显示更详细的信息
  • -p:查看相关的进程PID
  • -i:显示网卡流量
  • -Iinterface:查看指定网卡的流量信息 == ifconfig -s interface
[root@centos7 ~]# netstat -tnulp  #显示TCP,UDP的监听状态及相关进程的端口    

④ip

  • link

    • set interface {up|down}:启用或禁用网卡
    • show interface:显示指定网卡信息
  • addr
    • add IP/NETMASK [label interface:#] [scope {global | link | host}] [broadcast IP] dev interface:添加配置临时地址

      • label:指定别名
      • scope:作用域
        • global:作用域为全局
        • link:仅和此网卡相连的网络生效
        • host:仅主机可用
      • broadcast:设定广播地址
    • del dev interface [label interface:#]:删除IP
    • flush dev interface [label interface:#]:清空IP
  • route

    • add IP/NETMASK via GATEWAY dev interface:添加路由
    • add default via GATEWAY dev interface:添加默认路由
    • del IP/NETMASK via GATEWAY dev interface:删除路由
    • flush:清空路由表
    • show:查看路由表
[root@centos7 ~]# ip addr add 192.168.1.100/24 label eth0:0 dev eth0 #设置临时IP地址

⑤ss

  • -n:以数字方式显示,不解析,提高效率
  • -t:TCP相关
  • -u:UDP相关
  • -w:裸套接字
  • -x:显示unix sock相关信息
  • -l:查看处于监听状态的端口
  • -a:查看所有状态的端口
  • -e:显示更详细的信息
  • -p:查看相关的进程PID
  • -m:内存用量
  • -o:计时器信息
  • -s:显示当前socket详细信息
  • state TCP_STATE '( dport = :ssh or sport = :ssh )'
    • established
    • listen
    • fin_wait_1
    • fin_wait_2
    • syn_sent
    • syn_recv
[root@centos7 ~]# ss state established '( dport = :ssh or sport = :ssh )' #查看已连接状态的ssh

⑥nmcli:地址配置工具(CentOS7.x)

子命令补全功能:yum install bash-completion ,依赖epel源

1、查看信息

[root@centos7 ~]# nmcli device status
[root@centos7 ~]# nmcli connection show

2、删除配置

[root@centos7 ~]# nmcli connection delete ens33

3、增加配置

[root@centos7 ~]# nmcli connection add con-name ens33 ifname ens33 type ethernet ipv4.method auto connection.autoconnect yes
  • con-name ens33:配置文件名称
  • ifname ens33:指定网卡设备
  • type ethernet:网络类型以太网
  • ipv4.method auto:自动获取IP
  • connection.autoconnect yes:开机自启动

4、切换配置

[root@centos7 ~]# nmcli connection up ens33

5、修改配置文件名ens33 --> ens33-static

[root@centos7 ~]# nmcli connection modify ens33 con-name ens33-static

6、修改配置IP

[root@centos7 ~]# nmcli connection modify ens33-static ipv4.addresses 192.168.0.100/24 ipv4.gateway 192.168.0.1 ipv4.method manual
  • ipv4.addresses 192.168.0.100/24:IP地址
  • ipv4.gateway 192.168.0.1:网关
  • ipv4.method manual:手动获取,静态地址必须配置为手动,否则默认动态

7、重新读取配置文件

[root@centos7 ~]# nmcli connection reload

8、断开和连接网络连接

[root@centos7 ~]# nmcli device disconnect ens33
[root@centos7 ~]# nmcli device connect ens33

9、查看网络配置的详细信息

[root@centos7 ~]# nmcli connection show ens33

10、在配置中再添加一个地址

[root@centos7 ~]# nmcli connection modify ens33-static +ipv4.addresses 10.0.0.2/8

三:其他相关工具

ping:测试网络命令

  • -c count:ping的次数
  • -W timeout:超时时间,配合-c使用
  • -I ipaddress:指定用自己主机的IP去ping对方主机
  • -s size:每次ping发出的数据包大小,最大值65507
  • -f:竭尽自己主机的能力发出数据包
[root@centos7 ~]# ping -c1 -W1 192.168.0.6 #脚本中常用的ping测试,ping一次,超时时间1s
[root@centos7 ~]# ping -s 65507 -f 192.168.0.6 #竭尽自己所能,向192.168.0.6发出大数据包,ddos攻击

tcpdump:抓包工具

  • -n:禁止解析IP
  • -i interface:指定网卡接口
  • tcp|udp|icmp|arp:指定包协议

mtr:网络诊断工具

traceroute:跟踪路由

tracepath:跟踪路由

ifup:启用网卡

ifdown:禁用网卡

setup:字符界面配置工具(centos6.x)

system-config-network-tui:字符界面网络配置工具(centos6.x)

hostnamectl:设置主机名工具(centos7.x)

  • status
  • set-hostname HOSTNAME

mm-connection-editor:图形界面网络配置工具(centos7.x)

nmtui:字符界面配置工具(centos7.x)

  • nmtui-connect
  • nmtui-edit
  • nmtui-hostname

lftp | lftp [-u user[,pass]] [-p port] [-e cmd] FTPSERVER:FTP客户端工具

  • get
  • mget
  • put
  • mput
  • mirror DIR

lftpget URL:非交互式下载ftp服务器的文件

wget:网络下载工具

  • -q:静默模式
  • -c:断点续传
  • -P /path/DIRNAME:下载的文件保存到指定文件夹
  • -O /path/FILENAME:下载的文件保存到指定位置,并重命名
  • --limit-rate=# K|M:限速至# K|M

elinks | links:字符界面web浏览器

  • -source:查看网页源代码
  • -dump:只显示文字

四:Bonding和Team

++Bonding++

绑定:将多块网卡绑定同一IP地址对外提供服务,可以实现高可用或者负载均衡。

工作模式:

mode 0:balance-rr 轮调策略:多张网卡可以轮流发数据包,实现负载均衡的功能

mode 1:active-backup 主备策略:其中active网卡的发数据包,其他备用

mode 3:broadcast 广播策略:每个网卡都会发一份包

配置示例:

1、创建bonding的设备配置文件

# cat >/etc/sysconfig/network-scripts/ifcfg-bond0 <<EOF
DEVICE=bond0
BOOTPROTO=none
BONDING_OPTS="miimon=100 mode=1"
IPADDR=192.168.0.6
PREFIX=24
EOF

miimon=100:每100ms进行一次链路检测

2、配置bonding的从属网卡

[root@rhel6 ~]# cat >/etc/sysconfig/network-scripts/ifcfg-eth0 <<EOF
DEVICE=eth0
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
EOF
[root@rhel6 ~]# cat >/etc/sysconfig/network-scripts/ifcfg-eth1 <<EOF
DEVICE=eth1
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
EOF

3、重启网络服务并查看bonding状态

# /etc/rc.d/init.d/network restart
[root@rhel6 ~]# cat /proc/net/bonding/bond0 |head
Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011) Bonding Mode: fault-tolerance (active-backup)
Primary Slave: None
Currently Active Slave: eth0 #现在eth0在工作状态
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0

删除bonding配置示例:

1、禁用bond0并卸载bonding模块

# ip link set bond0 down
# modprobe -r bonding

2、还原配置文件,重启网络

附:官方文档链接

++Team++

网络组:是将多个网卡聚合在一起方法,从而实现冗错和提高吞吐量。

工作模式:runner

  • broadcast:广播
  • roundrobin:轮调
  • activebackup:主备

1、创建一个网络组接口

[root@centos7 ~]# nmcli connection add type team con-name team0 ifname team0 config '{"runner":{"name":"activebackup"}}'

2、配置team0

[root@centos7 ~]# nmcli connection modify team0 ipv4.addresses 172.20.108.244/16 ipv4.method manual ipv4.gateway 172.20.0.1

3、创建port接口

[root@centos7 ~]# nmcli connection add con-name team0-eth1 type team-slave ifname eth1 master team0
[root@centos7 ~]# nmcli connection add con-name team0-eth2 type team-slave ifname eth2 master team0

4、启动team0及从属接口

[root@centos7 ~]# nmcli connection up team0
[root@centos7 ~]# nmcli connection up team0-eth1
[root@centos7 ~]# nmcli connection up team0-eth2

5、查看工作状态

[root@centos7 ~]# teamdctl team0 state

6、配置文件示例:

[root@centos7 network-scripts]# cat ifcfg-team0
DEVICE=team0
TEAM_CONFIG="{\"runner\":{\"name\":\"activebackup\"}}"
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=team0
UUID=6c68702b-2ec5-4ca3-b7a2-0b609316c75c
ONBOOT=yes
DEVICETYPE=Team
#IPADDR=172.20.108.244
#PREFIX=16
#GATEWAY=172.20.0.1 [root@centos7 network-scripts]# cat ifcfg-team0-eth1
NAME=team0-eth1
UUID=9be1b6bf-3f40-4d93-b686-aff1b6c32ec8
DEVICE=eth1
ONBOOT=yes
TEAM_MASTER=team0
DEVICETYPE=TeamPort [root@centos7 network-scripts]# cat ifcfg-team0-eth2
NAME=team0-eth2
UUID=5f26b005-4f7d-4c13-af42-2fe98f7ec545
DEVICE=eth2
ONBOOT=yes
TEAM_MASTER=team0
DEVICETYPE=TeamPort

ifcfg-team0配置文件

7、删除team0

[root@centos7 ~]# nmcli connection down team0
[root@centos7 ~]# nmcli connectioni delete team0-eth0
[root@centos7 ~]# nmcli connectioni delete team0-eth1

五:Bridge

桥接:把一台机器上的若干个网络接口“连接”起来。其结果是,其中一个网口收到的报文会被复制给其他网口并发送出去。以使得网口之间的报文能够互相转发。网桥就是这样一个设备,它有若干个网口,并且这些网口是桥接起来的。与网桥相连的主机就能通过交换机的报文转发而互相通信。

主机A发送的报文被送到交换机S1的eth0口,由于eth0与eth1、eth2桥接在一起,故而报文被复制到eth1和eth2,并且发送出去,然后被主机B和交换机S2接收到。而S2又会将报文转发给主机C、D。

1、创建一个网桥

[root@centos7 ~]# nmcli connection add type bridge con-name br0 ifname br0

2、配置网桥

[root@centos7 ~]# nmcli connection modify br0 ipv4.addresses 192.168.0.7/24 ipv4.method manual

3、将从属网卡加入网桥

[root@centos7 ~]# nmcli connection add type bridge-slave con-name br0-eth0 ifname eth0 master br0

4、启用网桥并查看状态

[root@centos7 ~]# nmcli connection up br0
[root@centos7 ~]# nmcli connection up br0-eth0
[root@centos7 ~]# brctl show
bridge name bridge id STP enabled interfaces
br0 8000.000c295df21e yes eth0

5、配置文件示例:

[root@centos7 ~]# cat /etc/sysconfig/network-scripts/ifcfg-br0
DEVICE=br0
STP=yes
BRIDGING_OPTS=priority=32768
TYPE=Bridge
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=br0
UUID=94582afc-01a1-406d-a25a-91be7c350c23
ONBOOT=yes
IPADDR=192.168.0.7
PREFIX=24 [root@centos7 ~]# cat /etc/sysconfig/network-scripts/ifcfg-br0-eth0
TYPE=Ethernet
NAME=br0-eth0
UUID=9dd2a7fc-f143-4243-89ca-85f223e34348
DEVICE=eth0
ONBOOT=yes
BRIDGE=br0

网桥配置文件

+个人学习笔记+ 记录于2018.5.3 16:10

linux网络配置详解的更多相关文章

  1. Linux网络配置文件详解

    --Linux网络配置文件详解----------------------2013/10/03 目前在企业级服务器的Linux系统中,RHEL占有绝对的优势,不管是曾经在互联网公司还是在目前测试Vir ...

  2. Vmware在NAT模式下网络配置详解

    Vmware在NAT模式下网络配置详解 Linux中的网络配置对于接触Linux不久的小白菜来说,还是小有难度的,可能是不熟悉这种与windows系列迥然不同的命令行操作,也可能是由于对Linux的结 ...

  3. 【转】Linux 网络工具详解之 ip tuntap 和 tunctl 创建 tap/tun 设备

    原文:https://www.cnblogs.com/bakari/p/10449664.html -------------------------------------------------- ...

  4. Docker基础 :网络配置详解

    本篇文章将讲述 Docker 的网络功能,包括使用端口映射机制来将容器内应用服务提供给外部网络,以及通过容器互联系统让多个容器之间进行快捷的网络通信,有兴趣的可以了解下. 大量的互联网应用服务包含多个 ...

  5. CentOS网络配置详解

    转载于CentOS中文站:http://www.centoscn.com/CentOS/2015/0507/5376.html一.配置文件详解 在RHEL或者CentOS等Redhat系的Linux系 ...

  6. Linux 网络编程详解九

    TCP/IP协议中SIGPIPE信号产生原因 .假设客户端socket套接字close(),会给服务器发送字节段FIN: .服务器接收到FIN,但是没有调用close(),因为socket有缓存区,所 ...

  7. caffe mnist实例 --lenet_train_test.prototxt 网络配置详解

    1.mnist实例 ##1.数据下载 获得mnist的数据包,在caffe根目录下执行./data/mnist/get_mnist.sh脚本. get_mnist.sh脚本先下载样本库并进行解压缩,得 ...

  8. TCP/UDP Linux网络编程详解

    本文主要记录TCP/UDP网络编程的基础知识,采用TCP/UDP实现宿主机和目标机之间的网络通信. 内容目录 1. 目标2.Linux网络编程基础2.1 嵌套字2.2 端口2.3 网络地址2.3.1 ...

  9. VMware虚拟机网络配置详解

    VMware网络配置:三种网络模式简介 安装好虚拟机以后,在网络连接里面可以看到多了两块网卡: 其中VMnet1是虚拟机Host-only模式的网络接口,VMnet8是NAT模式的网络接口,这些后面会 ...

随机推荐

  1. myeclipes如何调试web项目

    你可以右击项目,然后选中那个debug as,然后选择open debug dialog,在project中选择要运行的项目,sever中选择服务器,然后单击debug就ok了,,

  2. objdump 命令的用法

    gcc命令之 objdump ---------------objdump是用查看目标文件或者可执行的目标文件的构成的GCC工具---------- 以下3条命令足够那些喜欢探索目标文件与源代码之间的 ...

  3. CF221C Circling Round Treasures

    题目大意 给定一个$n\times m$的网格$(n,m\leq 20)$,每个格子都是$S\space \#\space B\space x\space .$中第一个. $S$表示起点,保证有且仅有 ...

  4. Android 开发:开源库Speex支持arm64的动态库文件

    随着处理器制造工艺的不断进步,和Android系统的不断发展,最近出了arm64-v8a的架构,由于项目中用到了speex的第三方语音编解码的动态库,其他架构的处理器暂不用说,一切正常,唯独到arm6 ...

  5. NSArray用法

    //类方法初始化一个数组对象 [array count] : 得到这个数组对象的长度. [array objectAtIndex index]: 传入数组的索引(index) 得到数据对象. [arr ...

  6. 对spring、AOP、IOP的理解 (转)

    spring 的优点?1.降低了组件之间的耦合性 ,实现了软件各层之间的解耦2.可以使用容易提供的众多服务,如事务管理,消息服务等3.容器提供单例模式支持4.容器提供了AOP技术,利用它很容易实现如权 ...

  7. SpringMvc之参数绑定注解详解之三

    2. @RequestHeader.@CookieValue @RequestHeader 注解,可以把Request请求header部分的值绑定到方法的参数上. 示例代码: 这是一个Request ...

  8. React 特别需要注意的地方

    如图:

  9. shell入门-awk-3

    awk的内置变量 NR 表示行 NF 表示段 显示第十行 [root@wangshaojun ~]# awk -F ':' 'NR==10' 1.txtuucp:x:10:14:uucp:/var/s ...

  10. struts2.Action中的method属性配置

    .Action中的method属性 在struts1.x中我们知道通过继承DispatchAction可以实现把多个Action进行统一操作,在struts2中实现action的统一操作也很简单.我们 ...