网络基本配置

-----------------------------------------------------------------------------------------------------------------------------------------------

DHCP:动态主机配置协议,自动获取ip服务

centos下如何查看网速如何 centos看网卡速率_centos下如何查看网速如何

基本网络配置

<1>将Linux主机接入到网络,需要配置网络相关设置。

<2>一般包括如下内容:

  主机名,便于管理,只在本机上有意义,但不具有网络功能

  IP/netmask

  路由:默认网关

  DNS服务器

  主DNS服务器

  次DNS服务器

  第三DNS服务器

 

主机名:

centos 6:临时改主机名 hostname,永久改/etc/sysconfig/network,改完后再临时改一下即可,然后改./etc/hosts,添加自己新的主机名

centos7里hostnamectl :hostname管理工具

 

IP/netmassk:

CentOS 6:

网卡命名:eth0 、eth1、eth2……

lo网卡:loopback网卡,回环网卡,只要设备安装tcp/ip协议,就肯定有lo网卡,127.0.0.1

dmesg | grep eth 可以查看网卡名,图中所示e1000

centos下如何查看网速如何 centos看网卡速率_centos下如何查看网速如何_02

或者ethtool -i eth0

centos下如何查看网速如何 centos看网卡速率_配置文件_03

修改网卡名以及网卡与mac对应关系:/etc/udev/rules.d/70-persistent-net.rules,之后输入modprobe -r e1000卸载网卡驱动,再加载网卡驱动modprobe e1000(e1000为网卡驱动名),网卡名可更改

 

网络配置方式

静态指定:

  ifconfig, route, netstat

  ip: object {link, addr, route}, ss, tc

  system-config-network-tui,setup

  配置文件

动态分配:

  DHCP: Dynamic Host Configuration Protocol

 

ifconfig命令:显示已经启用的网卡信息

ifconfig eth0 up   启用网卡

ifconfig eth0 down 禁用eth0网卡

ifconfig -a 显示所有网卡,被禁用的网卡不显示ip信息

ip a 命令可以看网卡信息,up是启用,down是禁用

centos下如何查看网速如何 centos看网卡速率_json_04

ifdown eth0,禁用网卡,此命令依赖于配置文件,如果网卡配置文件里没有信息,将无作用

 

ifconfig[interface]

ifconfig eth1 172.20.0.123 临时更改

ifconfig 网卡名 IP/netmask

 

tcpdump -i 网卡名 icmp :对网卡抓icmp包

ifconfig eth0:1 192.168.1.1/24 对eth0起别名,ifconfig后eth0处显示eth0:1

注意:立即生效

启用混杂模式:[-]promisc

网卡配置文件目录:/etc/sysconfig/network-scripts

该目录下ifcfg-eth0:更改网卡信息的文件,更改后service NetworkManager restart重启服务激活,没有作用就ifconfig 网卡 down后再ifconfig 网卡 up可激活

centos下如何查看网速如何 centos看网卡速率_json_05

 

route -n 查看路由记录

route add -host x.x.x.x dev eth0 增加路有记录,加的是一个设备ip,单机路由

route del ……                 删除路由记录

route add net x.x.x.x dev eth0 增加路由记录,加的是一个网段,网络路由

 

实际应用中物理网段和逻辑网段都在同一个网段中

/proc/sys/net/ipv4/ip_foward 将计算机启用路由功能

 

两个路由器分成3个网段,实现了多路由跨网段通讯

1.网络

A:172.20.0.6/16  gw 172.20.0.200

R1:172.20.0.200/16  gw10.0.0.1/8

R2:10.0.0.2/8 gw 192.168.32.200/24

B:192.168.32.7/24 gw 192.168.32.200

2.启动两个路由器,echo 1>/proc/sys/net/ipv4/ip_foward

R1 route add -net B的ip gw 10.0.0.2

R2 route add -net A的(ip末尾为0) gw 10.0.0.1

实验中路由器是仅主机模式

 

网关的作用就是为了添加默认路由

边界路由器可以加默认网关0.0.0.0

 

一个网卡绑两个ip:图形界面可以直接添加,或者/etc/sysconfig/network-scripts/ifcfg-eth0里添加ip;

第二种:service NetworkManager stop,然后cp ifcfg-eth0 ifcfg-eth0:1,继续修改/etc/sysconfig/network-scripts/ifcfg-eth0,最后service NetworkManager restart

 

配置动态路由

路由协议:路由间互相交换各自的路由记录信息以达到整个网络路由器通讯

 

配置文件中:

动态配置

DEVICE=ethx

HWADDR=xx:xx:xx:xx:xx:xx,此行最好不要添加,防止更换网卡后系统无法识别新网卡

BOOTPROTO=dhcp

ONBOOT=yes 此行默认yes

 

静态配置

DEVICE=ethx

IPADDR=x.x.x.x

PREFIX=x 或者NETMASK=x.x.x.x

GATEWAY=x.x.x.x

DNS1=x.x.x.x

DNS2=x.x.x.x

ONBOOT=yes



通过守护进程获取动态路由

 安装quagga包

 支持多种路由协议:RIP、OSPF和BGP

 命令vtysh配置

 

netstat -tn 显示本机通过tcp协议和哪些设备在连接

netstat -tnl 显示本机和哪些设备有监听状态

netstat -tnla 显示本机通过tcp协议和哪些设备在连接和监听

-t: tcp协议相关

-u: udp协议相关

-w: raw socket相关

-l: 处于监听状态

-a: 所有状态

-n: 以数字显示IP和端口

-e:扩展格式

-p: 显示相关进程及PID

netstat -I网卡号 指定网卡,和ifconfig -s 网卡号一样

 

netstat命令逐渐被ss代替

 

ss -l 显示本地打开的所有端口

ss -pl显示每个进程具体打开的socket

ss -t -a 显示所有tcpsocket

ss -u -a 显示所有的UDP Socekt

ss -o state established '( dport= :sshor sport = :ssh)' 显示所有已建立的ssh连接

ss -o state established '( dport= :http or sport = :http )' 显示所有已建立的HTTP连接

ss -s 列出当前socket详细信息

 

ip命令

查看、修改路由表

ip addr

ip a a 添加地址

ip addr add 1.1.1.1/24 dev eth1给eth1增加ip

ip addr add 1.1.1.1/24 dev eth1 label eth:1 给网卡设别名

ip addr del 1.1.1.1/24 dev eth1,删除地址

ip addr flush eth1 删除网卡全部额外的ip地址

ip addr下global和link区别,假设我一个网卡上有两个ip,global状态下ping该网卡随便一个ip都会通,link状态下只能是网口号对应ip上才能通

 

ip route add 2.2.2.0/24 via 网关ip 增加路由表

ip route delete ……

ip route flush dev eth1 清空路由表

 

网络配置文件/etc/sysconfig/network-scripts/ipcfg-eth0,ifcfg-eth0:2,类似这种带冒号的只能手动添加,无法自动获取ip

ONBOOT:在系统引导时是否激活此设备

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

UUID:设备的惟一标识

IPADDR:指明IP地址

NETMASK:子网掩码

GATEWAY: 默认网关

DNS1:第一个DNS服务器指向

DNS2:第二个DNS服务器指向,改完dns之后service network restart,/etc/resolv.conf有dns地址说明配置成功

USERCTL:普通用户是否可控制此设备

PEERDNS:如果BOOTPROTO的值为“dhcp”,是否允许dhcp server分配的dns服务器指向信息直接覆盖至/etc/resolv.conf文件中

DOMAIN:自动补域名,ping www

 

Bonding:多网卡绑定一个ip

Bonding工作模式

Mode 0 轮流模式

Mode 1 主备模式

Mode 3 广播模式,两个网卡走一模一样的数据

active-backup、balance-tlb和balance-alb模式不需要交换机的任何特殊配置。其他绑定模式需要配置交换机以便整合链接。如:Cisco 交换机需要在模式0、2 和3 中使用EtherChannel,但在模式4中需要LACP和EtherChannel

 

实现Mode 0模式:

Bonding

多块网卡绑定到一个ip

创建bonding配置文件,/etc/sysconfig/network-scripts/ifcfg-bond0

内容格式

DEVICE=bond0

BOOTPROTO=none

IPADDR=x.x.x.x

PREFIX=x.x.x.x

BONDING_OPTS=  “miimon=100 mode=x” miimon表示多少毫秒后探测网卡是否还在工作

再在需要设置bonding的网卡文件ifcfg-ethx改其配置

DEVICE=ethx

BOOTPROTO=none

MASTER=bond0

SLAVE=yes

USERCTL=no 普通用户是否可以控制该网卡

查看bond0状态/proc/net/bonding/bond0

实验网卡是仅主机模式

 

使用传统命名方式:

(1) 编辑/etc/default/grub配置文件

   GRUB_CMDLINE_LINUX="rhgbquiet net.ifnames=0"

   或:修改/boot/grub2/grub.cfg

(2) 为grub2生成其配置文件

   grub2-mkconfig -o /etc/grub2.cfg

(3) 重启系统


bonding删除

ifconfig bond0 down

rmmod bonding


centos7网络配置

采用传统命名方式,便于统一管理

(1)编辑/etc/default/grub配置文件

找到GRUB_CMDLINE_LINUX=”rhgb quiet net”这一行加上.ifnames=0

或者修改/boot/grub2/grub.cfg,找到第一个linux16那一行加上.ifnames=0

(2)为grub2生成其配置文件

grub2-mkconfig -o /etc/grub2.cfg

(3)重启系统

 

图形配置:nm-connection-editor

字符配置tui工具:nmtui

命令行工具:nmcli

nmcli connection命令有个name名和device名,name名表示连接名,一个name名对应/network-scripts/下一个ifcfg-网卡号文件,因此可以用命令来切换网络环境

nmcli connection add con-name eth0-aa ifname eth0 type ethernet ipv4.method manual ipv4.address .../...

                          增加 自定义名字  名字    针对eth0设置   以太网类型     设置ip为手动指定     设置ipv4地址

  

不设置ipv4.method manual 会造成ip将自动获取,本条命令执行便无效果

nmcli dev disconnect eth0断开eth0网卡连接

nmcli dev connect eth0启用eth0网卡连接

 

设置好nmcli文件后,使用命令nmcli connection up eth0-aa可以切换刚配置的eth-aa 的网络环境

 

nmcli connection modify eth0-aa con-name eth0-bb

将eth0-aa的配置环境改名为eth0-bb

nmcli connection delete eth0 删除网卡eth0网络环境文件

nmcli connection modify eth0-aa +ipv4.addresses 2.2.2.2/24 给eth0-aa增加地址

nmcli connection modify eth0-aa -ipv4.addresses 2.2.2.2/24 给eth0-aa删减地址

添加bond1指令

nmcli con add type bond con-name mybond ifname mybond mode 1

配置网卡从属bond

nmcli con add type bond-slave ifname eth0 master mybond

启动bond

nmcli con up bond-slave-eth0

启动绑定

nmcli con up mybond

 

网络组team

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

网络组不同于旧版中bonding技术,提供了更好的性能和扩展性

网络组由内核驱动和teamd守护进程实现

多种方式 runner方式

 broadcast

 roundrobin

 activebackup

 loadbalance

nmcli con add type team con-name CNAME ifname INAME [config JSON]

CNAME连接名

INAME网络接口名

TEAM网络组接口

 

JSON指定runner方式

格式:’{“runner”. {“name”: ”method”}}’

method可以是broadcast、roundrobin、activebackup、loadbalance

 

创建接口

nmcli con add type team-slave con-name CNAME ifname INAME master TEAM

   CNAME连接名

   INAME网络接口名

   TEAM网络组接口

多次创建接口后启用接口

   nmcli con up CNAME

启用team需要启用team一次,分别启用各网卡一次


断开连接

nmcli dev dis INAME

 

网络组删除

nmcli connection down team0

teamdctl team0 state

nmcli connection show

nmcli connectioni delete team0-eth0

nmcli connectioni delete team0-eth1 有几个网卡绑定team就删除几个

nmcli connection show

 

网络客户端工具

ftp,lftp:子命令:get、mget、ls、help

 

ftp工具,命令行式连接ftp需要填写用户名,默认ftp或者anonymous

centos下如何查看网速如何 centos看网卡速率_操作系统_06

ftp进入后会有界面

centos下如何查看网速如何 centos看网卡速率_配置文件_07

ls:查看ftp文件列表

!ls:查看客户机文件列表

lcd:查看客户端当前目录位置

get 文件名:下载该文件

put 文件名:上传该文件

mget 文件名1 文件名2 …:下载文件1、文件2…

mput 文件名1 文件名2 …:上传文件1、文件2…

ftp不支持补全

 

lftp工具,ftp升级版,默认ftp登录,增添颜色,支持linux的tab补全,

lftp[-p port] [-u user[,password]] SERVER

lftpgetURL

lftpget ftp://...... 从ftp下载文件

 

wget不仅支持ftp协议,还支持http协议

wget[option]... [URL]...

  -q: 静默模式

  -c: 断点续传

  -P:保存在指定目录

  -O: 保存为指定的文件名 wget http://... -o /app/file,从网站下载文件保存为/app下file

  --limit-rate=: 指定传输速率,单位K,M等

 

links URL,纯字符界面浏览器

  --dump,links URL --dump提取纯文字

  --source,直接看源代码

https://blog.51cto.com/13873498/2164149