Linux系统--Linux网络管理与配置

Linux 网络管理与配置

在学习linux的过程中,Linux网络的管理和配置在后续学习中是很重要的,几乎学习的后期都离不开网络的概念和配置,如集群中的使用。所有学习好Linux网络至关重要。

Linux网络配置有两种方式:静态指定和动态分配

动态分配就是利用DHCP服务器,动态的给linux主机分配IP地址。静态指定可以通过命令配置临时的IP和相应的NETMASK,GATEWAY,DNS等,也可以通过修改配置文件做相应的配置。

在CentOS6上的网络配置

一.静态指定,通过命令暂时配置linux网络

CentOS6网络接口命名方式:

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

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

1.ifconfig命令:ifconfig - configure a network interface

ifconfig [interface]

ifconfig:显示当前系统上激活的网络接口信息

ifconfig interface:显示指定的网络接口信息

ifconfg -a:显示系统上的网络接口信息

ifconfig interface up|down:启动或关闭一个网络接口

ifconfig interface [aftype] options | address ...

ifconfig interface IP/mask [up]

ifconfig interface IP netmask MAKE

eg:

这些修改只是暂时的,重启系统之后就会失效。

2.route命令:route - show / manipulate the IP routing table

route:显示和操作IP路由表

a.查看路由:route -n

b.添加路由:route add

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

eg:目标地址为:192.168.1.8 网关为172.16.0.1,本地添加一条路由:

目标地址为192.168.0.0 网关为172.16.0.1:

c.删除路由:route del

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

eg:

route del -host 192.168.1.8

或者:route del -host 192.168.1.8 gw 172.16.0.1 dev eth1

routedel -net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1

d.将linux主机接入到网络中,需要用到IP/MASK、路由设备和DNS服务器。而Linux系统中的DNS服务器指定是在一个文件中:

/etc/resolv.conf

nameserver NDS_SERVERIP

nameserver NDS_SERVERIP

nameserver NDS_SERVERIP

可以指定多个DNS服务器的IP。查看DNS服务器的域名解析命令有:dig和host

正向解析:FQDN:完全合格域名-->IP

dig -t A FQDN

host -t A FQDN

反向解析:IP-->FQDN

dit -x IP

host -t PTR IP

3.netstat命令:

netstat  - Print network connections, routing tables, interface statis-

tics, masquerade connections, and multicast memberships

显示网络连接上的一些选项和参数:

netstat [--tcp|-t][--udp|-u][--raw|-w][--listening|-l][--all|-a][--numeric|-n][--extend|-e[--extend|-e]][--program|-p]

-t:tcp 协议相关

-u:udp协议相关

-w:raw socket相关(raw socket原始套接字,和其他套接字不同之处在于它工作在网络层和数据层,而其他套接字工作在传输层,只能进行传输层数据操作。常使用raw socket 进行数据监听)

-l:处于监听状态

-a:所有连接状态

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

-e:扩展格式

-p:显示相关进行的PID:

显示路由表:

netstat {--route|-r} [--verbose|-v] [--numeric|-n] [--continuous|-c]

-r:显示内核路由

-n:数字格式显示

-c:一直循环显示路由表

显示接口信息:

netstat {--interfaces|-I|-i} [iface] [--all|-a] [--extend|-e] [--program|-p] [--numeric|-n] [--continuous|-c]

-i:显示所有接口的信息

-Iiface:显示指定接口的信息

4.ip命令:

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

ip [OPTIONS] OBJECT {COMMAND|help}

学习中常用到的OBJECT有:link,addr,route

(1)ip link :

ip link set DEVICE {up|down|arp{on|off}

ip link set DEVICE | dev DEVICE up|down :表示启用户关闭此接口设备。

ip link show [DEVICE|dev DEVICE]:显示所有网络接口设备或显示指定接口设备。

(2)ip addr:

ip addr {add|del}IFADDR dev STRING:添加和删除网卡设备

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

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

global:全局可用

link:仅连接可用

host:本机可用

[broadcast ADDRESS]:指明广播地址:

ip addr {show|flush} [devSTRING] [scope COPE-ID ]

(3)ip route:

添加路由:ip route add TARGET via GW dev IFACE src

添加主机路由:

ip route add IP via GW dev IFACE

添加网络路由:

ip route add NEWORK/MASK via GW dev IFACE

eg:

删除路由:

ip route del TARGET via GW del IFACE

显示路由:

ip route show

清空路由:

ip route flush

[dev IFACE]

[via PREFIX]

5.ss命令:

ss命令与netstat的功能相似,但是比netstat功能更强大

ss - another utility to investigate sockets

ss [options] [ FILTER ]

常用选项:

-a:display all sockets:显示所有

-t:tcp协议相关

-u:udp协议相关

-w:裸套接字相关

-x:Unix socket相关

-l:listen状态的连接

-n:以数字格式显示

-p:显示相关的程序和PID

-e:扩展内容

-m:内存用量

-o:计时器信息

常用组合选项:

-atn  -tanl  -tanlp  -uan等

FILTER := [ state TCP_STATE ] [EXPRESSION]

Tcp常见的状态:

tcp finite state machine:

listen:监听

established:已建立的连接

fin_wait_1

fin_wait_2

syn_sent

syn_recv

closed

[EXPRESSION]:

dport =

sport =

示例:‘( dport = :ssh or sport = :ssh)’

二.静态指定,修改配置文件配置linux网络

Linux 中的网路配置要想永久有效,需要修改相应的配置文件。其中IP,MASK,GW,DNS相关的配置文件:/etc/sysconfig/network-scripts/ifcfg-IFACE

路由相关的配置文件为:/etc/sysconfig/network-scripts/route-IFACE 这个文件默认是不存在的,要手动添加。先查看配置文件:

1.网络地址配置文件:

/etc/sysconfig/network-scripts/ifcfg-IFACE中的各个参数的含义:

DEVICE:此配置文件应用到的设备

HWADDR:对应设备的MAC地址

BOOTPROTO:激活此设备时使用的地址配置协议,常用的有:dhcp,static,none,bootp

NM_CONTROLLED:NM是NetworkManager的缩写,表示此网卡是否接受NM的控制,CentOS建议关闭

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

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

UUID:设备的唯一标识:

当BOOTPROTO的值为static时,要指定设备的IP,NETMASK,GATEWAY和DNS,分别指设备的IP地址,子网掩码,默认网关,DNS服务指向

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

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

2.路由配置文件:

/etc/sysconfig/network-scripts/route-IFACE,这编写路由规则时有两种方法:

(1)TARGET via GW:如:

192.168.1.6 via 172.16.0.1

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

ADDRESS#=TARGET

NETMASK#=mask

GATEWAY#=GW

如:

ADDRESS0=192.168.1.6

NETMASK0=255.255.255.0

GATEWAY0=172.16.0.1

3.通过命令和配置文件进行配置网络外还可以通过一个工具进行配置就是tui(text user interface)

system-config-network-tui即可打开此工具,或者使用setup也可打开。此种方法配置的网络必须重启网络服务方能生效。

4.配置当前主机的主机名:

配置主机名的方法也有两种:通过命令配置,临时有效。修改配置进行配置,永久有效。

(1)使用hostname命令:

hostnam [HISTNAME]

hostname:查看当前系统的主机名

hostname HOSTNAME:修改主机名为HOSTNAME

(2)修改配置文件:/etc/syconfig/network

HOSTNAME=NAME

5.给网络接口重命名:

网络接口识别并命名相关的udev配置文件为:

/etc/udev/rules.d/70-presistent-net.roules

在此文件中只需修改NAME项,修改成自己指定接口名。如我们把NAME=”eth1” 修改为eth0  把NAME=”eth2” 修改为eth1。然后卸载网卡模块:modprobe -r e1000 。 再加载网卡模块:modprobe e1000。

再在网络配置文件中/etc/sysconfig/network-scripts/ifcfg-IFACE分别进行修改DEVICE=eth0 和DEVICE=eth1 。并把网络配置文件名修改为ifcfg-eth0和ifcfg-eth1。在重启网络服务即可。

三.CentOS 7 的网络属性配置:

从CentOS 7开始网络设备的命名方式不再遵循传统的命名方式(eth[0,1,2..]),而接口名称被自动基于固件,拓扑机构和位置信息来确定。现在即使添加移除网络设备,接口名称仍然保持固定,而无需重新枚举,和坏掉的硬件可以无缝替换。

CentOS 7网络设备名称的组成格式:

en:Ethernet

wl:wlan

ww:wwan

名称类型:

o<index>:集成设备的设备索引号命名:

s<slot>:扩展槽的索引号

x<MAC>:基于MAC地址命名

p<bus>s<slot>:enp2s1

虽然新的命名方式有很大的益处,但是也影响了不少用户的操作,不便于读和操作。修改网卡名称:

1.编辑网络配置文件:/etc/sysconfig/network-scripts/ifcfg-eno16777736将NAME项修改为eth0.

2.重命名改配置文件:

# mv ifcfg-eno16777736 ifcfg-eth0

3.编辑/etc/default/grub/配置文件:加入“net.ifname=0 bisodevname=o”到GRUB_CMDLINE_LINUX。如:

4.运行grub2-mkconfig -o /boot/grub2/grub.cfg 重新生成GRUB配置并更新内核参数

5.重启系统

CentOS 7 网络地址配置工具:nmcli

CentOS 7 中的默认网络服务由NetworkManager提供,可以用命令工具nmcli来控制NetworkManager

nmcli - command?line tool for controlling NetworkManager

命令格式:

nmcli [OPTIONS]OBJECT{COMMAND|help}

OBJECT

g[eneral]   NetworkManager‘s general status and operations

c[onnection] NetworkManager‘s connections

d[evice]    devices managed by NetworkManager

1.general:

COMMAND := {status|hostname}

nmcli general status:显示NM的所有状态

nmcli general hostname:显示系统当前的主机名

2.device:

device - show and manage network interfaces

COMMAND := {status|show|delete}

nmcli device status:显示当前系统网络设备处于的状态

nmcli device show [ifname]:显示系统上的网络设备详细信息或指定网卡信息

nmcli device delete:删除系统上的一个设备。此设备只能是工作在系统上的软件设备,如bonds,bridges,teams

3.connection:

connection - start, stop, and manage network connections

COMMAND := {show|up|down|add|edit|modify|delete|reloa|load}

nmcli connection show :显示指定网络接口的详细信息

nmcli connection up:激活一个网络接口

nmcli connection down:关闭一个网络接口

这里讲一下modify:;

如何修改IP地址等属性:

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

setting.property:

pv4.addresses

pv4.gateway

ipv4.dns1

ipv4.method

eg:

添加一个dns服务器指向:

# nmcli connection modify eth0 + ipv4.dns 8.8.8.8

给网络设备添加一个ip地址:

# nmcli connection modify eth0 +ipv4.address 172.16.99.6

移除一个网络设备上的ip地址:

# nmcli connection modify eth0 -ipv4.address 172.16.99.6

CentOS 7 的网络配置也可以工具nmtiu:他显示的是一个图形化操作界面。

CentOS7 配置主机名:hostnamectl

hostnamectl status:显示当前系统的主机名以及相应信息

hostnamctl set-hostname:设置主机名

时间: 2024-10-29 19:10:52

Linux系统--Linux网络管理与配置的相关文章

在RedHat Linux系统中安装和配置snmp服务

检查系统是否安装snmp服务 # rpm -qa|grep snmp net-snmp-5.3.2.2-17.el5 net-snmp-perl-5.3.2.2-17.el5 net-snmp-devel-5.3.2.2-17.el5 net-snmp-libs-5.3.2.2-17.el5 net-snmp-utils-5.3.2.2-17.el5 net-snmp-libs-5.3.2.2-17.el5 net-snmp-devel-5.3.2.2-17.el5 SNMP服务安装后会有以上安

Linux系统下目录文件配置

刚刚接触Linux,对于Linux系统下的目录配置进行了一些研究,为了避免以后误操作这些目录,建议大家还是记忆一下相关的配置! 总结 Linux 根目录主要配置 目录 文件配置内容 /bin 单用户维护模式下还能被操作的命令 /boot 开机会使用到的文件,包括Linux内核文件以及开机菜单与开机所需配置文件 /dev 设备以及设备接口文件,访问该目录下文件相当于访问某设备 - /dev下的重要文件:/dev/null,/dev/zero,/dev/tty /etc 系统主要的配置文件,比如账号

【Oracle RAC】Linux系统Oracle12c RAC安装配置详细记录过程V2.0(图文并茂)

[Oracle RAC]Linux系统Oracle12c RAC安装配置详细过程V2.0(图文并茂) 2 Oracle12c RAC数据库安装准备工作2.1 安装环境介绍2.2 数据库安装软件下载3 Oracle12c RAC数据库安装环境配置3.1 安装主机或虚拟机3.2 安装操作系统3.3 hosts文件配置3.4 添加组与用户3.5 添加文件系统3.6 修改操作系统参数3.7 禁止NTP3.8 配置grid和oracle用户的环境变量3.9 配置SSH信任关系3.10 调整页面交换空间3.

017在Linux系统下安装和配置Tomcat

实例说明 介绍在Linux系统下安装可配置Tomcat 设计过程 首先要把xxx.tar.gz上传到Linux,然后开始执行以下命令 使用tar -zxvf xxx.tar.gz解压文件,屏幕将显示解压信息 使用ll显示出Tomcat文件夹xxx 使用mv xxx  /usr/tomcatX 把文件夹移动到usr目录下 使用mv xxx tomcatX修改目录文件名为tomcatX 进入tomcatX/bin目录下,startup.sh和catalina.sh这两个文件能启动tomcat ./s

Linux系统--Linux进程与作业管理(1)

Linux系统--Linux进程与作业管理(1) 先了解一些基本概念:内核的功能,程序的组成,进程,进程的类型和运行状态,进程的分类,Linux中的第一个进程init,Linux内核存储进程信息的格式,进程的优先级,进程间的通信. 1.Linux内核的功能和程序的组成: Linux内核是一种开源电脑操作系统.是用来与硬件打交道并为用户程序提供一个有限服务集的软件.Linux内核支持模块化,支持模块的动态加载和卸载,可以把模块驱动编辑到内核中,也可以不编辑到内核,直接调用需要的模块.Linux内核

Linux系统--Linux进程与作业管理(2)

Linux系统--Linux进程与作业管理(2) Linux进程相关的基本概念已经了解,Linux进程管理的一些命令: pstree,ps,pidof,pgrep,top,htop,glance,pmap,vmstat,dstat,kill,pkil,job,bg,fg,nohup 1.pstree命令: pstree - display a tree of processes:以树状形式显示当前系统进程,和命令tree相似. 2.ps命令: ps - report a snapshot of 

Linux系统--Linux的启动过程

Linux系统--Linux启动过程 CentOS 启动流程: POST --> Boot Sequence(BIOS) --> Boot Loader (MBR) --> Kernel(ramdisk) --> rootfs --> switchroot --> /sbin/init -->(/etc/inittab, /etc/init/*.conf) --> 设定默认运行级别 --> 系统初始化脚本 --> 关闭或启动对应级别下的服务 --

Linux系统--Linux进程与作业管理(3)

Linux系统--Linux进程与作业管理(3) Linux进程管理和作业管理的另外几种管理命令:vmstat,dstat,pmap,glances,kill 1.vmstat命令: vmstat - Report virtual memory statistics vmstat命令可以看到整个机器的CPU,内存,IO等使用情况.此命令不是动态显示的,需要手动进行刷新. vmstat #:相隔#秒刷新. 直接执行vmstat命令的结果为: 各个字段的含义: procs: r:等待运行的进程的个数

1.3 Linux系统7基本环境配置

Linux系统7 基本了解 红帽公司于2014年6月11日正式发布企业Linux 7版本,该版本在裸服务器.虚拟机.IaaS 和 PaaS 方面都得到了加强,更可靠以及更强大的数据中心环境可满足各种商业的要求.RHEL 7 为企业提供一个内聚的.统一的基础设施架构以及最新的服务环境,包括 Linux 容器.大数据以及跨物理系统.虚拟机和云的混合云平台. 更新:1.显著提升Docker的兼容性:2.默认文件系统从EXT4改为XFS:3.系统管理进一步简化:4.新版本内核3.10提供更多文件系统的支