linux网络配置详解

linux网络配置详解,第1张

概述阅读目录 网卡名命名规则文件: 将CentOS7.x网卡名改为传统命名方式: 工作模式: 配置示例: 删除bonding配置示例: 一:相关网络配置的文件 1、网卡名配置相关文件 回到顶部 网卡名命名规则文件: /etc/udev/rules.d/70-persistent-net.rules # PCI device 0x8086:0x100f (e1000)SUBSYSTEM=="net",

阅读目录

网卡名命名规则文件: 将CentOS7.x网卡名改为传统命名方式: 工作模式: 配置示例: 删除bonding配置示例: 一:相关网络配置的文件 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",ATTR{address}=="00:0c:29:db:c9:66",name="eth1"

修改网卡命名示例:

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

[[email protected] ~]# ethtool -i eth0driver: e1000 #网卡驱动
[[email protected] ~]# modprobe -r e1000 #卸载网卡驱动

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

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

[[email protected] ~]# modprobe e1000   #重新加载网卡驱动[[email protected] ~]# /etc/rc.d/init.d/network restart #重启网络服务
回到顶部 将CentOS7.x网卡名改为传统命名方式:

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

# sed -i.bak -r ‘s/(GRUB_CMDliNE_liNUX=.*)"/ 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-网卡名

配置文件示例:

[[email protected] ~]# 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
[[email protected] ~]# 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:查看路由表
[[email protected] ~]# 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
[[email protected] ~]# ss state established ‘( dport = :ssh or sport = :ssh )‘ #查看已连接状态的ssh

 

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

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

1、查看信息

[[email protected] ~]# nmcli device status
[[email protected] ~]# nmcli connection show

2、删除配置

[[email protected] ~]# nmcli connection delete ens33

3、增加配置

[[email protected] ~]# 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、切换配置

[[email protected] ~]# nmcli connection up ens33

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

[[email protected] ~]# nmcli connection modify ens33 con-name ens33-static

 6、修改配置IP

[[email protected] ~]# 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、重新读取配置文件

[[email protected] ~]# nmcli connection reload

8、断开和连接网络连接

[[email protected] ~]# nmcli device disconnect ens33
[[email protected] ~]# nmcli device connect ens33

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

[[email protected] ~]# nmcli connection show ens33

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

[[email protected] ~]# 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:竭尽自己主机的能力发出数据包
[[email protected] ~]# Ping -c1 -W1 192.168.0.6 #脚本中常用的Ping测试,Ping一次,超时时间1s[[email protected] ~]# 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 <<EOFDEVICE=bond0BOOTPROTO=noneBONDING_OPTS="miimon=100 mode=1"IPADDR=192.168.0.6PREFIX=24EOF

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

2、配置bonding的从属网卡

[[email protected] ~]# cat >/etc/sysconfig/network-scripts/ifcfg-eth0 <<EOFDEVICE=eth0BOOTPROTO=noneMASTER=bond0SLAVE=yesEOF[[email protected] ~]# cat >/etc/sysconfig/network-scripts/ifcfg-eth1 <<EOFDEVICE=eth1BOOTPROTO=noneMASTER=bond0SLAVE=yesEOF

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

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

回到顶部 删除bonding配置示例:

1、禁用bond0并卸载bonding模块

# ip link set bond0 down
# modprobe -r bonding

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

附:官方文档链接

++Team++

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

工作模式:runner

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

1、创建一个网络组接口

[[email protected] ~]# nmcli connection add type team con-name team0 ifname team0 config ‘{"runner":{"name":"activebackup"}}‘

2、配置team0

[[email protected] ~]# nmcli connection modify team0 ipv4.addresses 172.20.108.244/16 ipv4.method manual ipv4.gateway 172.20.0.1

3、创建port接口

[[email protected] ~]# nmcli connection add con-name team0-eth1 type team-slave ifname eth1 master team0[[email protected] ~]# nmcli connection add con-name team0-eth2 type team-slave ifname eth2 master team0

 4、启动team0及从属接口

[[email protected] ~]# nmcli connection up team0[[email protected] ~]# nmcli connection up team0-eth1[[email protected] ~]# nmcli connection up team0-eth2

5、查看工作状态

[[email protected] ~]# teamdctl team0 state

6、配置文件示例:

[[email protected] network-scripts]# cat ifcfg-team0DEVICE=team0TEAM_CONfig="{\"runner\":{\"name\":\"activebackup\"}}"PROXY_METHOD=nonebroWSER_ONLY=noBOOTPROTO=dhcpDEFROUTE=yesIPV4_FAILURE_FATAL=noIPV6INIT=yesIPV6_autoCONF=yesIPV6_DEFROUTE=yesIPV6_FAILURE_FATAL=noIPV6_ADDR_GEN_MODE=stable-privacyname=team0UUID=6c68702b-2ec5-4ca3-b7a2-0b609316c75cONBOOT=yesDEVICETYPE=Team#IPADDR=172.20.108.244#PREFIX=16#GATEWAY=172.20.0.1[[email protected] network-scripts]# cat ifcfg-team0-eth1 name=team0-eth1UUID=9be1b6bf-3f40-4d93-b686-aff1b6c32ec8DEVICE=eth1ONBOOT=yesTEAM_MASTER=team0DEVICETYPE=TeamPort[[email protected] network-scripts]# cat ifcfg-team0-eth2name=team0-eth2UUID=5f26b005-4f7d-4c13-af42-2fe98f7ec545DEVICE=eth2ONBOOT=yesTEAM_MASTER=team0DEVICETYPE=TeamPort
ifcfg-team0配置文件

7、删除team0

[[email protected] ~]# nmcli connection down team0[[email protected] ~]# nmcli connectioni delete team0-eth0[[email protected] ~]# nmcli connectioni delete team0-eth1
五:BrIDge

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

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

1、创建一个网桥

[[email protected] ~]# nmcli connection add type brIDge con-name br0 ifname br0

 

2、配置网桥

[[email protected] ~]# nmcli connection modify br0 ipv4.addresses 192.168.0.7/24 ipv4.method manual

 

3、将从属网卡加入网桥

[[email protected] ~]# nmcli connection add type brIDge-slave con-name br0-eth0 ifname eth0 master br0

 

4、启用网桥并查看状态

[[email protected] ~]# nmcli connection up br0[[email protected] ~]# nmcli connection up br0-eth0[[email protected] ~]# brctl showbrIDge name     brIDge ID               STP enabled     interfacesbr0             8000.000c295df21e       yes             eth0

 

5、配置文件示例:

[[email protected] ~]# cat /etc/sysconfig/network-scripts/ifcfg-br0DEVICE=br0STP=yesBRIDGING_OPTS=priority=32768TYPE=BrIDgePROXY_METHOD=nonebroWSER_ONLY=noBOOTPROTO=noneDEFROUTE=yesIPV4_FAILURE_FATAL=noIPV6INIT=yesIPV6_autoCONF=yesIPV6_DEFROUTE=yesIPV6_FAILURE_FATAL=noIPV6_ADDR_GEN_MODE=stable-privacyname=br0UUID=94582afc-01a1-406d-a25a-91be7c350c23ONBOOT=yesIPADDR=192.168.0.7PREFIX=24[[email protected] ~]# cat /etc/sysconfig/network-scripts/ifcfg-br0-eth0 TYPE=Ethernetname=br0-eth0UUID=9dd2a7fc-f143-4243-89ca-85f223e34348DEVICE=eth0ONBOOT=yesBRIDGE=br0
网桥配置文件

 

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

总结

以上是内存溢出为你收集整理的linux网络配置详解全部内容,希望文章能够帮你解决linux网络配置详解所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1026305.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存