网络配置

基本的网络配置:将Linux主机接入到网络,需要配置网络相关设置。v

一般包括如下内容:

主机名

IP/netmask

路由:默认网关

DNS服务器

主DNS服务器

次DNS服务器

第三DNS服务器

网络配置方式:v

静态指定:

ifcfg: ifconfig, route, netstat

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

system-config-network-tui (setup)

配置文件

CentOS 7:网络配置工具

nmcli, nmtui, nm-connection-editor v

动态分配:DHCP: Dynamic Host Configuration Protocol

CentOS 6网卡名称:v

网络接口识别并命名相关的udev配置文件:/etc/udev/rules.d/70-persistent-net.rulesv

查看网卡:dmesg |grep –i ethethtool -i eth0

卸载网卡驱动:modprobe -r e1000rmmod e1000v

装载网卡驱动:modprobe e1000

配置网络接口v

接口命名方式:CentOS 6:

以太网:eth[0,1,2,...]

ppp:ppp[0,1,2,...]v

ifconfig命令ifconfig [interface]

# ifconfig -a

# ifconfig IFACE [up|down]

# ifconfig interface [aftype] options | address ...

# ifconfig IFACE IP/netmask [up]# ifconfig IFACE IP netmask NETMASK

注意:立即生效;

启用混杂模式:[-]promisc

划分子网:将一个大网络(主机ID位多)划分多个小的网络(主机ID位少),网络ID向主机ID借位,网络ID变多,主机ID变少

划分超网:将多个小网合并一个大网,主机ID向网络ID借位

子网掩码:共32位,对应网络ID位为1,对应主机ID为0

无类域间路由

CIDR表示法:ip/网络ID位数=ip/(32-主机ID位数)

00000000  0

10000000  128

11000000  192

11100000  224

11110000  240

11111000  248

11111100  252

11111110  254

11111111  255

公式

1 主机数=2^主机ID位-2

2 网络数=2^可变的网络ID位

3 网络ID=IP和netmask 相与

4 划分子网数=2^网络ID向主机ID借的位数

5 损失IP=2*(划分子网数-1)

路由表构成:

多个路由记录组成

每个路由记录由4项组成部分

1目标

(1) 主机

(2)网络 网络ID

(3) 未知 0.0.0.0

2 netmask

3 接口interface ,发往目标,从哪个接口发出去

4 网关gateway:下一个路由器的邻近本路由器的接口的IP

网络配置方式v

静态指定:ifcfg: ifconfig, route, netstat

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

system-config-network-tui (setup)

配置文件

CentOS 7:网络配置工具

nmcli, nmtui, nm-connection-editor v

动态分配:DHCP: Dynamic Host Configuration Protocol

CentOS 6网卡名称v

网络接口识别并命名相关的udev配置文件:/etc/udev/rules.d/70-persistent-net.rulesv

查看网卡:dmesg |grep –i eth

ethtool -i eth0v

卸载网卡驱动:modprobe -r e1000

rmmod e1000v

装载网卡驱动:modprobe e1000

配置网络接口v

接口命名方式:CentOS 6:

以太网:eth[0,1,2,...]

ppp:ppp[0,1,2,...]v

ifconfig命令

ifconfig [interface]

# ifconfig -a

# ifconfig IFACE [up|down]

ifconfig interface [aftype] options | address ...

# ifconfig IFACE IP/netmask [up]

# ifconfig IFACE IP netmask NETMASK

注意:立即生效;

启用混杂模式:[-]promisc

route命令v

路由管理命令v

查看:route -nv

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

目标:192.168.1.3  网关:172.16.0.1

# route add -host 192.168.1.3 gw 172.16.0.1 dev eth0v

目标:192.168.0.0 网关:172.16.0.1

# route add -net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1 dev eth0

# route add -net 192.168.0.0/24 gw 172.16.0.1 dev eth0

默认路由,网关:172.16.0.1

# route add -net 0.0.0.0 netmask 0.0.0.0 gw172.16.0.1

# route add default gw 172.16.0.1v

删除:route del

route del [-net|-host] target [gw Gw] [netmask Nm] [[dev] If]v

目标:192.168.1.3  网关:172.16.0.1

# route del -host 192.168.1.3v 目标:192.168.0.0 网关:172.16.0.1

# route del -net 192.168.0.0 netmask 255.255.255.0

配置动态路由v

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

安装quagga包,支持多种格式的RIP、OSPF和BGP

命令vtysh配置

netstat命令

常用组合:-tan, -uan, -tnl, -unl

显示路由表:netstat {--route|-r} [--numeric|-n]

-r: 显示内核路由表

-n: 数字格式

显示接口统计数据:netstat {--interfaces|-I|-i} [iface] [--all|-a] [--extend|-e] [--program|-p] [--numeric|-n]

# netstat -i

# netstat –I=IFACE

# ifconfig -s eno16777736

ip命令 配置Linux网络属性:ip命令

ip - show / manipulate routing, devices, policy routing and tunnels

ip [ OPTIONS ] OBJECT { COMMAND | help }OBJECT := { link | addr | route }

ip link - network device configuration

set dev IFACE

可设置属性:up and down:激活或禁用指定接口

ifup/ifdown

show [dev IFACE]:指定接口

[up]:仅显示处于激活状态的接口

ip命令

ip addr { add | del } IFADDR dev STRING

[label LABEL]:添加地址时指明网卡别名

[scope {global|link|host}]:指明作用域

global: 全局可用

link: 仅链接可用

host: 本机可用

[broadcast ADDRESS]:指明广播地址

ip address show - look at protocol addresses

[dev DEVICE]

[label PATTERN]

[primary and secondary]

ip address flush - 使用格式同show

ip addr add 172.16.100.100/16 dev eth0 label eth0:0

ip addr del 172.16.100.100/16 dev eth0 label eth0:0

ip addr flush dev eth0 label eth0:0

ip命令

ip route - routing table management

添加路由:ip route add

ip route add TARGET via GW dev IFACE src SOURCE_IP

TARGET:

主机路由:IP

网络路由:NETWORK/MASK

ip route add 192.168.0.0/24 via 172.16.0.1

ip route add 192.168.1.13 via 172.16.0.1

添加网关:ip route add default via GW dev IFACE

ip route add  default via 172.16.0.1

删除路由:ip route delete

ip route del TARGET

显示路由:ip route show|list

清空路由表:ip route flush [dev IFACE]  [via PREFIX]

ip route flush dev eth0

网络配置文件

IP、MASK、GW、DNS相关配置文件:

/etc/sysconfig/network-scripts/ifcfg-IFACE

路由相关的配置文件:

/etc/sysconfig/network-scripts/route-IFACE

/etc/sysconfig/network-scripts/ifcfg-IFACE

本地解析器:

解析器执行正向和逆向查询

/etc/hosts

本地主机名数据库和IP地址的映像

对小型独立网络有用

通常,在使用DNS前检查

hosts  查看/etc/hosts 内容

dns名字解析

/etc/resolv.conf

nameserver DNS_SERVER_IP1

nameserver DNS_SERVER_IP2

nameserver DNS_SERVER_IP3

search magedu.com

/etc/nsswitch.conf

与/etc/hosts相比优先于DNS

正向解析:FQDN-->IP

# dig -t A FQDN

# host -t A FQDN

反向解析:IP-->FQDN

# dig -x IP

# host -t PTR IP

178

网络配置文件:

/etc/sysconfig/network-scripts/route-IFACE

注意:需service network restart生效

两种风格:

(1) TARGET via GW

如:10.0.0.0/8 via 172.16.0.1

(2) 每三行定义一条路由

ADDRESS#=TARGET

NETMASK#=mask

GATEWAY#=GW

网卡别名

对虚拟主机有用

将多个IP地址绑定到一个NIC上

eth0:1 、eth0:2、 eth0:3

ifconfig命令:

ifconfig eth0:0 192.168.1.100/24 up

ifconfig eth0:0 down

ip命令:

ip addr add 172.16.1.2/16 dev eth0

ip addr add 172.16.1.1/16 dev eth0 label eth0:0

设备别名:

为每个设备别名生成独立的接口配置文件

关闭NetworkManager服务

ifcfg-ethX:xxx

必须使用静态联网

DEVICE=eth0:0

IPADDR=10.10.10.10

NETMASK=255.0.0.0

ONPARENT=yes

注意:service network restart 生效

参考/usr/share/doc/initscripts-*/sysconfig.txt

Linux网络属性配置的tui(text user interface):

system-config-network-tui

setup

注意:记得重启网络服务方能生效

配置当前主机的主机名:

hostname [HOSTNAME]

/etc/sysconfig/network

HOSTNAME=

Bonding工作模式:

mode1  mode2  mode3

bond的配置

Centos7用命令行在bond0上添加地址

#nmcli connection add type bond con-name bond0 ifname bond0 mode active-backup ipv4.method manual ipv4.addresses 192.168.37.100/24 创建bond0,并创建一个新的IP地址

#nmcli connection add type bond-slave ifname eth0 master bond0 将eth0的网卡绑定到bond0

#nmcli connection add type bond-slave ifname eth1 master bond0  将eth1的网卡绑定到bond1

#nmcli connection add type bond-slave con-name bond0-slave-eth0 ifname eth1 master bond0

#nmcli connection up bond-slave-eth1 开启eth1

#cat /proc/net/bonding/bond0查看谁在工作

#nmcli connection modify bond0 bond.options mode=broadcast可修改模式

#nmcli connection down bond0 暂时关闭

#nmcli connection up bond0 开启bond0

#cat /proc/net/bonding/bond0可以在查看一下

#nmcli connection up bond0-salve-eth0 开启eth0

#nmcli connection up bond0-salve-eth1 开启eth1

#nmcli connection down bond0解除关系

#rm -f ifcfg-bon* 删除bond

网卡名称

网卡设备的命名过程:

第一步:

udev, 辅助工具程序/lib/udev/rename_device

/usr/lib/udev/rules.d/60-net.rules

第二步:

biosdevname 会根据/usr/lib/udev/rules.d/71-

biosdevname.rules

第三步:

通过检测网络接口设备,根据

/usr/lib/udev/rules.d/75-net-description

ID_NET_NAME_ONBOARD

ID_NET_NAME_SLOT

ID_NET_NAME_PATH

采用传统命名方式

使用传统命名方式:

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

GRUB_CMDLINE_LINUX="rhgb quiet net.ifnames=0"

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

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

grub2-mkconfig -o /etc/grub2.cfg

(3) 重启系统

nmcli命令:

地址配置工具:nmcli

nmcli [ OPTIONS ] OBJECT { COMMAND | help }

device - show and manage network interfaces

nmcli device help

connection - start, stop, and manage network connections

nmcli connection help

修改IP地址等属性:

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

setting.property:

ipv4.addresses ipv4.gateway

ipv4.dns1   ipv4.method manual | auto

修改配置文件执行生效:systemctl restart network

nmcli con reload

nmcli命令生效: nmcli con down eth0 ;nmcli con up eth0

190

nmcli命令

地址配置工具:nmcli

nmcli [ OPTIONS ] OBJECT { COMMAND | help }

device - show and manage network interfaces

nmcli device help

connection - start, stop, and manage network connections

nmcli connection help

修改IP地址等属性:

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

setting.property:

ipv4.addresses ipv4.gateway

ipv4.dns1   ipv4.method manual | auto

修改配置文件执行生效:systemctl restart network

nmcli con reload

nmcli命令生效: nmcli con down eth0 ;nmcli con up eth0

相关工具

网络接口配置tui工具:nmtui

主机名称配置工具:hostnamectl

status

set-hostname

191

相关工具

网络接口配置tui工具:nmtui

主机名称配置工具:hostnamectl

status

set-hostname

使用nmcli配置主机名

CentOS6之前主机名配置文件:/etc/sysconfig/network

CentOS7主机名配置文件:/etc/hostname ,默认没有这个

文件,通过DNS反向解析获取主机名,主机名默认为:

localhost.localdomain

显示主机名信息

hostname

hostnamectl status

创建并修改文件并生效

hostnamectl set-hostname desktopX.example.com

删除文件,恢复主机名localhost.localdomain

使用nmcli配置网络:

NeworkManager是管理和监控网络设置的守护进程

设备即网络接口,连接是对网络接口的配置。一个网络接口

可有多个连接配置,但同时只有一个连接配置生效

显示所有包括不活动连接

nmcli con show

显示所有活动连接

nmcli con show --active

显示网络连接配置

nmcli con show  "System eth0“

显示设备状态

nmcli dev  status

显示网络接口属性:

nmcli dev show eno16777736

创建新连接default,IP自动通过dhcp获取

nmcli con add con-name default  type Ethernet

ifname eth0

删除连接

nmcli con del default

创建新连接static ,指定静态IP,不自动连接

nmcti con add con-name static   ifname eth0

autoconnect no type Ethernet ip4 172.25.X.10/24 gw4

172.25.X.254

修改连接设置:

nmcli con mod“static” connection.autoconnect no

nmcli con mod “static”  ipv4.dns 172.25.X.254

nmcli con mod “static”  +ipv4.dns  8.8.8.8

nmcli con mod “static”  -ipv4.dns  8.8.8.8

nmcli con  mod “static” ipv4.addresses “172.25.X.10/24

172.25.X.254”

nmcli con mod “static”  +ipv4.addresses 10.10.10.10/16

DNS设置,存放在/etc/resolv.conf文件中

PEERDNS=no 表示当IP通过dhcp自动获取时,dns仍是手动设置

,不自动获取。等价于下面命令:

nmcli con mod “system eth0” ipv4.ignore-auto-dns yes

mncli命令:

修改连接配置后,需要重新加载配置

nmcli con reload

nmcli con down “system eth0” 可被自动激活

nmcli con up  “system eth0”

nmcli dev dis eth0 禁用网卡,访止被自动激活

图形工具

nm-connection-editor

字符工具

nmtui

nmtui-connect

nmtui-edit

nmtui-hostname

网络组:

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

高吞吐量

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

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

多种方式runner

broadcast

roundrobin

activebackup

loadbalance

lacp (implements the 802.3ad Link Aggregation Control

Protocol)

创建网络组接口:

nmcli con add type team con-name CN AME ifname

INAME [config JSON]

CNAME 连接名,INAME 接口名

JSON 指定runner方式

格式:‘{"runner": {"name": "METHOD"}}‘

METHOD 可以是broadcast, roundrobin,

activebackup, loadbalance, lacp

创建port接口:

nmcli con add type team-slave con-name CNAME

ifname INAME master TEAM

CNAME 连接名

INAME 网络接口名

TEAM 网络组接口名

连接名若不指定,默认为team-slave-IFACE

nmcli dev dis INAME

nmcli con up CNAME

INAME 设备名 CNAME 网络组接口名或port接口

管理网络组配置文件:

# /etc/sysconfig/network-scripts/ifcfg-team0

DEVICE=team0

DEVICETYPE=Team

TEAM_CONFIG="{\"runner\": {\"name\": \"broadcast\"}}"

BOOTPROTO=none

IPADDR0=172.25.5.100

PREFIX0=24

NAME=team0

ONBOOT=yes

# /etc/sysconfig/network-scripts/ifcfg-team0-eth1

DEVICE=eth1

DEVICETYPE=TeamPort

TEAM_MASTER=team0

NAME=team0-eth1

ONBOOT=yes

实例:

网路组:

创建网络组接口:

nmcli con add type team con-name  CNAME ifname INAME

CNAME连接名  INAME接口名

JSON格式

‘{"runner":{"name":"METHOD"}}‘

METHOD 可以是broadcast,roundrobin,activebackup,loadbalance,lacp

#nmcli connection add type team con-name con-myteam0 ifname myteam0 config ‘{"runner":{"name":"roundrobin"}}‘创建网络组名为myteame

#nmcli connection add type team-slave ifname eth1 master myteam0 将网卡eth0绑定到组上

#nmcli connection add type team-slave ifname eth0 master myteam0 将网卡eth1绑定到组上

#nmcli connection modify con-myteam0 ipv4.method manual ipv4.addresses 192.168.37.100/24修改网络IP地址

#nmcli connection up con-myteam0 开启组

#nmcli connection up team-slave-eth1 开启eth1

#nmcli connection up team-slave-eth0 开启eth0

#teamdctl myteam0 state查看文件

#nmcli connection down con-myteam0 临时关闭组

#nmcli connection  reload 重新加载

//nmcli connection delete con-myteam0 删除命令

#nmcli connection delete con-myteam0 删除网络组

#nmcli connection delete team-slave-eth0 删除

#nmcli connection delete team-slave-eth1 删除

网桥:

创建软件网桥

nmcli con add type bridge con-name br0 ifname br0

nmcli con br0 ipv4.addresses 172.16.0.6/16

ipv4.method manual

nmcli con add type bridge-slave con-name br0-port0

ifname eth0 master br0

查看网桥

cat  /etc/sysconfig/network-scripts/ifcfg-br0

cat  /etc/sysconfig/network-scripts/ifcfg-br0-port0

brctl show

删除网桥 brctl delbr br0

删除网桥中网卡 brctl delif eth0

注意:NetworkManager只支持以太网接口接口连接到网桥,不支

持聚合接口

在命令行下测试网络的连通性:

显示主机名

hostname

测试网络连通性

ping

mtr

显示正确的路由表

ip route

确定名称服务器使用:

nslookup

host

dig

跟踪路由

traceroute

tracepath

网桥:

cat /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts 忽略广播

echo 0 >/proc/sys/net/ipv4/icmp_echo_ignore_broadcasts显示广播

echo 1 >/proc/sys/net/ipv4/icmp_echo_ignore_broadcasts 禁止广播

#cat /etc/hosts 主机文件 hostname 查看主机名

cat /etc/resolv.conf 查看dns的解析地址

nslookup解析工具

时间: 2024-12-21 13:29:25

网络配置的相关文章

ubuntu-server的网络配置

之前用的ubuntu,要么是装好的,要么是虚拟机里的,今天在公司亲自给一台新机器装了个ubuntu-server 16.04,在网络配置上遇到了问题,果然实践出真知啊. 事情是这样的,装好系统后,我的网络配置是这样的: /etc/network/interfaces auto eth0 iface eth0 inet static address 192.168.1.3 netmask 255.255.255.0 gateway 192.168.1.1 /etc/resolvconf/resol

CentOS的网络配置简析

我们在进行对CentOS的网络配置时,一般会从IP地址(IPADDR).子网掩码(NETMASK).网关(Gateway).主机名(HOSTNAME).DNS服务器等方面入手.而在CentOS中,又有着不同的命令或配置文件可以完成这些配置操作,接下来,我们将从ifcfg系命令,iproute2系命令以及配置文件3个方面来简析网络配置的方法. 一.ifcfg系命令 ifcfg系命令包括ifconfig,route,netstat和hostname. 1.ifconfig命令 用来配置一个网络接口.

Ubuntu通过修改配置文件进行网络配置

Ubuntu系统进行网络配置有的时候用图形界面不起作用,这种情况下可以直接修改某些启动脚本或配置文件 Ubuntu系统进行网络配置涉及到几个配置文件1./etc/network/interfaces 2./etc/resolv.conf 操纵步骤: 1.打开ubuntu的/etc/network/interfaces文件默认的内容如下: auto lo iface lo inet loopback 动态获取的配置方法: auto eth0 iface eth0 inet dhcp 静态分配的配置

Centos6.4配置总结--网络配置(Ⅱ)

Linux的网络配置,常见的就是IP.NETMASK.GATEWAY.DNS的配置. 下面开始给新装的Linux系统配置网络. 通过ifconfig命令发现网络还没有启动起来 [[email protected] ~]# ifconfig lo        Link encap:Local Loopback             inet addr:127.0.0.1  Mask:255.0.0.0           inet6 addr: ::1/128 Scope:Host      

Docker NAT iptables实现 及网络配置

Docker NAT iptables实现 默认情况下,容器可以主动访问到外部网络的连接,但是外部网络无法访问到容器 容器访问外部实现 容器所有到外部网络的连接,源地址都会被 NAT 成本地系统的 IP 地址(即docker0地址).这是使用 iptables 的源地址伪装操作实现的 查看主机的 NAT 规则 [[email protected] sshd_dockerfile]# iptables -t nat -vnL Chain POSTROUTING (policy ACCEPT 0 p

Linux网络配置及SSH和Shell基础

Linux网络配置及SSH和Shell基础 一.Linux网络配置     ifconfig命令被用于配置和显示Linux内核中网络接口的网络参数.用ifconfig命令配置的网卡信息,在网卡重启后机器重启后,配置就不存在.要想将上述的配置信息永远的存的电脑里,那就要修改网卡的配置文件了. 二.hosts文件的作用及修改主机名      Hosts : The static table lookup for host name(主机名查询静态表)       Linux 的/etc/hosts是

linux 基础 (二) 网络配置、测试

查看,修改主机名 hostname 查看主机名,临时更改主机名,永久更改主机名 vi /etc/sysconfig/network  将HOSTNAME字段修改成用户所需主机名保存退出即可,例如: 查看主机名 临时修改主机名 永久修改主机名(vi /etc/sysconfig/network)更改HOSTNAME 更改后可以使用hostname  主机名 进行生效  不需要重启即可 网络配置 1.修改配置文件 ,永久生效 vi /etc/sysconfig/network-scripts/ifc

linux下网络配置 命令

一.IP的配置: 不直接修改文件方式: 设置网卡eth0的IP地址和子网掩码: sudo ifconfig eth0 192.168.2.1 netmask 255.255.255.0 将IP地址改为:192.168.2.1,子网掩码改为:255.255.255.0 设置网关: sudo route add default gw 192.168.2.254 手动修改文件方式: 第一(二)块网卡的配置文件: /etc/sysconfig/network-scripts/ifcfg-eth0 (不同

kvm 网络配置之nat、用户模式

接上篇,kvm的网络配置,参考书本:<kvm虚拟化技术 实现以及原理解析> 2. nat模式 nat模式自动获取ip需要dhcp服务,nat功能本身需要ip伪装,既然是一个网络,所以还需要虚拟网桥功能,所以需要的软件如下: dhcp功能:dnsmasq ip伪装:iptables 虚拟网桥:bridge-utils 实现: (1)yum install dnsmasq iptables bridge-utils -y#如果iptables是为内核的netfilter模块提供规则,如果内核不支持