Linux网络管理

网络接口配置

ifconfig

  1. 列出各个已定义的网络接口的配置情况(root权限)
  • ifconfig
  • ifconfig eth0

image.png

  1. 禁止/激活任何网络接口
  • ifconfig eth0 up

  • ifconfig eth0 down

  • ifup eth0

  • ifdown eth0

image.png
在网络配置界面中,通过“激活”或者“解除”按钮可以启动或者禁用网络接口

注意:修改网络接口配置可能会导致SSH客户端断开

  1. 修改网络接口配置
    ifconfig <设备名> <IP> netmask <掩码>

修改完需要重启网络接口,只有单次修改有效

  • 长期有效
    vim /etc/sysconfig/network-scripts/ifcfg-xxx(针对CentOS)
IPADDR=XX.XX.XX.XX
NETMASK=YY.YY.YY.YY
GATEWAY=ZZ.ZZ.ZZ.ZZ
DNS1=AA.AA.AA.AA
DNS2=BB.BB.BB.BB

网络控制程序network

  • /etc/rc.d/init.d/network start | stop | restart
  • /etc/init.d/network start | stop | restart
  • service network start | stop | restart

常用网络命令

ping

网络测试命令

ping [选项] <目的主机名或IP地址>

  • c num 发送num个数据包后停止
  • s bytes 默认值是64字节

traceroute

显示数据包经过路由的命令

traceroute <选项> <目的主机IP或域名>

route

管理路由表命令

  • 显示路由表内容:不加任何参数的route命令显示本机路由表的内容,
  • 添加/删除路由记录

route add|del -net <网络号> netmask <网络掩码> dev <设备名>

route add -net 200.1.1.0 netmask 255.255.255.0 dev eth0

  • 添加或者删除默认网关:

route add|del default gw <网关名或网关IP>

例如:

route add default gw 200.1.1.254

route del default gw 200.1.1.254

netstat

显示网络状态

  • a 显示所有会话数据
  • i 列出系统已经定义的每个网卡
  • r 显示出计算机当前的路由表
  • s 显示出当前网络协议统计信息
  • nltp 列出正在占用的端口

网络相关配置文件

image.png

/etc/sysconfig/network

对本机的网络进行配置,常见的几个配置项如下:

  • NETWORKING:值为yes或no,表示主机是否支持网络功能。
  • HOSTNAME:主机名(即域名)。
  • GATEWAY:默认网关。
  • FORWARD_IPV4:设置本机是否允许转发IPV4的数据包。
  • DOMAINNAME:此台主机所属的网络域。
  • GATEWAYDEV:连接网关的设备,例如eth0,如果是拨号用户则设为ppp0。

/etc/sysconfig/network-scripts/

  • DEVICE=eth0 //设备名称
  • ONBOOT=yes //起动时是否起动该设备,省略该行表示yes
  • BOOTPROTO=none //启动协议,none表示使用用户设置的ip地址,dhcp表示从dhcp获得ip地址static表示静态IP。
  • IPADDR=192.168.14.11 //IP地址
  • NETMASK=255.255.255.0 //子网掩码
  • GATEWAY=XX.XXX.XXXX
  • DNS1=xx.xxx.xxx.xx

域名解析配置文件 /etc/host.conf

  • order hosts,bind
    先查询解析/etc/hosts文件,然后是DNS服务器
  • multi on
    指定的计算机是否可以有多个IP地址
  • nospoof on
    不允许对该服务器进行IP地址欺骗(防攻击)

主机名列表文件/etc/hosts

IP地址 主机名 别名
例如:

192.168.14.15		qq.yys.com		qq
127.0.0.1		localhost

域名服务器设置文件 /etc/resolv.conf

  • nameserver <DNS服务器IP>
    定义DNS服务器的IP地址
  • domain <域名> (可选)
    定义本地域名
  • search <域名列表>(可选)
    定义域名的搜索列表

网络服务列表文件 /etc/services

列出了系统支持的服务名称、服务使用的端口号和协议类型、服务的别名、功能注释等。
例如
http 80/tcp www www-http #WorldWideWeb HTTP

协议定义文件 /etc/protocols

协议名称 协议号 别名
例如:

tcp	6	TCP
udp	17	UDP

网络服务管理

Linux服务器最主要的功能就是提供各种网络服务,例如:www,ftp,dns,邮件服务器等

/etc/services文件列出了Linux系统支持的所有服务的名称

网络服务管理可以采用图形界面管理工具和命令行界面管理工具

图形界面管理工具

image.png

chkconfig

用于检查和设置系统的各种服务

  • 添加指定的新服务:chkconfig --add 服务名
  • 删除指定服务:chkconfig --del 服务名
  • 显示所有或指定服务,以及他们在每个运行级别是否启动等:
    chkconfig --list 或 chkconfig --list [服务名]
  • 改变服务的运行级别及启动信息:
    chkconfig [--level <levels>] <name> <on|off|reset>

chkconfig --level 3 sshd off

重启后才能生效,类似配置启动项

service

终端命令service用于设置网络服务的当前状态:

service 服务名 [start|stop|restart]

马上生效

网络服务模型

网络服务主要靠服务名以及服务端口号进行区分。

网络服务启动后,会在服务器上驻留服务进程,该进程对本身的服务进行监控,比如:客户端连接服务端口,服务进程就响应连接,提供服务。

Linux系统中的网络服务模型有两种

  • 独立的守护进程工作模式
  • 基于xinetd的工作模式

守护进程

在Client/Server模式下。服务器监听(Listen)在一个特定的端口上等待客户连接。连接成功后服务器和客户端通过端口进行数据通信。
守护进程的工作就是打开一个端口,并且等待(Listen)进入连接。
如果客户端发起一个连接请求,守护进程就创建(Fork)一个子进程响应这个连接,而主进程继续监听其他的服务请求。
运行独立的守护进程工作方式称作:stand-alone。它是Unix传统的C/S模式的访问模式。

image.png
Web服务器Apache和邮件服务器Sendmail、域名服务器Bind使用独立守护进程模式启动。
因为这些负载很大服务器上,预先创建子服务器,可以提高客户的服务速度。

xinetd

从守护进程的概念可以看出,对于系统所要提供的每一种服务,都必须运行一个监听某个端口连接情况的守护进程,这通常意味着资源浪费。
为了解决这个问题,Linux引进了“网络守护进程服务程序”的概念。
RHEL5使用的网络守护进程是xinetd(eXtended InterNET daemon)。和stand-alone模式相比xinetd模式也称 Internet Super-Server(超级服务器)。

image.png

xinetd能够同时监听多个指定的端口,在接受用户请求时,它能够根据用户请求的端口不同,启动不同的网络服务进程来处理这些用户请求。

可以把xinetd看做一个管理启动服务的管理服务器,它决定把一个客户请求交给那个程序处理,然后启动相应的守护进程。

xinetd能够同时监听多个指定的端口,在接受用户请求时,它能够根据用户请求的端口不同,启动不同的网络服务进程来处理这些用户请求。

可以把xinetd看做一个管理启动服务的管理服务器,它决定把一个客户请求交给那个程序处理,然后启动相应的守护进程。

特点

  • 支持对TCP、UDP、RPC服务的管理
  • 可以实施基于时间段的访问控制
  • 功能完备的log功能,可以记录连接成功、连接失败的行为
  • 能够有效地防止拒绝服务(DoS)的攻击
  • 能够限制同时运行的同一类型的服务器的数目
  • 能够限制log文件大小
  • 能够将某个服务绑定在特定的系统接口上,从而实现只能允许私有网络访问某项服务。
  • 能够实现作为其它系统的代理。

使用

需要配置文件:
yum install -y xinetd

  • /etc/xinetd.conf:控制xinetd程序运行的配置文件。其中,提供了所有服务的缺省配置。
    系统默认的/etc/xinetd.conf文件内容如下:

# Simple configuration file for xinetd
#
# Some defaults, and include /etc/xinetd.d/
defaults
{
instances	 	= 60 #同时连接并发数
log_type		= SYSLOG authpriv #记录到登录日志
log_on_success = HOST PID #成功登录后,记录那些信息
log_on_failure  	= HOST #登录失败后,记录什么信息
cps		= 25 30  #同一秒最大并发为25,超过后暂停服务30秒
}

  • /etc/xinetd.d/*:该目录包括所有由xinetd程序启动的服务的配置文件,每个服务都有自己单独的配置文件,配置文件名与服务名一致

telnet服务

Telnet是一种远程登录应用,常用于系统远程维护。端口23.
Telnet设计为基于xinetd的一种服务,受xinetd管理。

  1. chkconfig --list
  2. yum install telnet telnet-server
  3. chkconfig --list | grep telnet #查看启用情况
  4. 编辑(新建)/etc/xinetd.d/telnet
service telnet
{
flags  = REUSE #表示当中断或重启xinetd时,TCP/IP Socket可重用
socket_type = stream  #表示使用TCP的Socket类型
wait   = no    #表示该服务提供多线程功能
user   = root   #设置进程的UID,由root用户操作
server = /usr/sbin/in.telnetd #设置服务程序文件
log_on_failure += USERID #表示当连接失败时,系统除记录/etc/xinetd.conf文件中设置的内容外,还需记录用户ID
disable = no  #表示允许xinetd启动本项服务(该项原来是yes)
}

  1. 重新启动服务 service xinetd restart

vsFTPd

FTP是一种文件传输协议,它实现了服务器与客户机之间的文件传输和资源的共享。
vsFTPd(very secure FTP daemon)是一个功能强大的FTP服务器,能运行在大部分UNIX 类作系统上,支持很多其他的FTP服务器不支持的特征:

  • 支持虚拟IP
  • 支持虚拟用户
  • 可以独立操作或者由xinetd管理
  • 可以对每个用户进行配置
  • 带宽限制
  • 支持IPv6
  • 支持通过SSL的加密
主动模式PORT(主动连接 客户端 )

指的是FTP服务器“主动”去连接客户端的数据端口来传输数据,其过程具体来说就是:

  1. 客户端从一个任意的非特权端口N(N>1024)连接到FTP服务器的命令端口(即tcp 21端口),
  2. 紧接着客户端开始监听端口N+1,并发送FTP命令“port N+1”到FTP服务器,
  3. 然后服务器会从它自己的数据端口(20)“主动”连接到客户端指定的数据端口(N+1),这样客户端就可以和ftp服务器建立数据传输通道了。

image.png

被动模式PASV(被动等待客户端连接)

指的是FTP服务器“被动”等待客户端来连接自己的数据端口,其过程具体是:

  1. 当开启一个FTP连接时,客户端打开两个任意的非特权本地端口(N >1024和N+1)。
  2. 第一个端口连接服务器的21端口,但与主动方式的FTP不同,客户端不会提交PORT命令并允许服务器来回连它的数据端口,而是提交PASV命令。
  3. 这样做的结果是服务器会开启一个任意的非特权端口(P > 1024),并发送PORT P命令给客户端。
  4. 然后客户端发起从本地端口N+1到服务器的端口P的连接用来传送数据。(注意此模式下的FTP服务器不需要开启tcp 20端口了)
安装

yum install -y vsftpd

  • 默认会创建一个名为ftp用户,home目录为: /var/ftp

  • 默认是监听IPV6端口

启动
  • 独立工作模式 :
    默认情况,进入ftp用户的home目录
    service vsftpd start

  • 借助xinetd管理的工作模式:
    将前面的选项设置为“listen_ipv6=NO”
    并配置/etc/xinetd.d/vsftpd文件

独立工作模式下的配置

vsFTPd的配置文件有三个:

  • /etc/vsftpd/vsftpd.conf:vsFTPd的主配置文件
anonymous_enable=YES	//允许匿名登录
local_enable=YES	//允许本地用户登录
write_enable=YES	//开放本地用户的写权限
dirmessage_enable=YES	//当切换目录时,显示该目录的信息。
connect_from_port_20=YES	//使用FTP数据端口20的连接请求
userlist_enable=YES	//与前面介绍的vsftpd.user_list配置文件有关,后面介绍
listen=YES	//是否允许vsFTPd运行在独立启动模式;如果值为NO,则需要使用其它软件启动vsFTPd。
tcp_wrappers=YES	
  1. userlist_enable
    用法:YES/NO

若是启动此功能,则会读取/etc/vsftpd.user_list 当中的使用者名称。只有出现在文件中的用户名才能登录ftp。

此项功能可以在询问密码前就出现失败讯息,而不需要检验密码的程序。默认值为关闭。

  1. userlist_deny
    用法:YES/NO

这个选项只有在userlist_enable 启动时才会被检验。

如果将这个选项设为YES,则在 /etc/vsftpd.user_list 中的使用者将无法登入﹔若设为NO,则只有在/etc/vsftpd.user_list 中的使用者才能登入。

此项功能可以在询问密码前就出现错误讯息,而不需要检验密码的程序。

# 限制指定的本地用户不能访问,而其它本地用户可以访问。
userlist_enable= YES
userlist_deny= YES
userlist_file= /etc/vsftpd.user_list

# 限制指定的本地用户可以访问,而其它本地用户不可以访问。
userlist_enable= YES
userlist_deny= NO
userlist_file= /etc/vsftpd.user_list

  • /etc/vsftpd/ftpusers : vsFTPd的访问控制
    在/etc/vsftpd.ftpusers配置文件中保存了一个用户列表,如果用户名在这个列表中,它就不能通过网络进行FTP登录。

  • /etc/vsftpd/user_list: 允许/禁止用户列表

vsFTPd的启动与关闭
  • service vsftpd [start|stop|restart]

  • /etc/rc.d/init.d/vsftpd [start|stop|restart]

  • /etc/init.d/vsftpd [start|stop|restart]

ftp 使用
  • ftp xx.xx.xx.xx | open xx.xx.xx.xx
  • get | mget
  • put | mput
  • binary | acsii 设置文件传输方式
  • cd 在远程主机切换目录
  • lcd 在本地主机切换目录
  • ls 在远程主机上执行ls
  • mkdir 在远程主机上创建目录
  • close 关闭
  • quit 退出
xinetd模式启动vsFtpd
  1. service vsftpd stop

  2. 修改/etc/vsftpd/vsftpd.conf 将 listen_ipv6=YES 改为 listen_ipv6 =NO

  3. 新增一个文件:/etc/xinetd.d/vsftpd 内容如下:

service ftp #注意这里的名字是ftp不是vsftpd{
    	socket_type  = stream	#使用TCP的Socket类型
	wait = no	#多线程
    	user  = root
    	server  = /usr/sbin/vsftpd
    	server_args  = /etc/vsftpd/vsftpd.conf
    	disable   = no
     }

stand alone / xinetd ?

运行单个xinetd就可以同时监听所有服务端口,这样就降低了系统开销,保护系统资源。
但是对于访问量大、经常出现并发访问时,xinetd想要频繁启动对应的网络服务进程,反而会导致系统性能下降。
因此在选择基于哪种工作模式的时候,需要根据服务的使用情况具体情况具体分析。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值