配置Linux服务器的网络

简介:

服务器的系统安装好后,接下来就要在机房或内网环境中配置它的IP了,这是最重要的一个环节。下面我就以64bit Centos5.5服务器为例来说明如何通过命令或图形来配置Linux服务器的IP、网关、DNS,以及如何用命令查看Linux的进程或网络连接等。

  配置Linux服务器的网络

  1、手动修改配置网卡文件

  手动配置网卡是最直接的方式,熟练的系统管理员在平时维护系统的时候更喜欢使用这种方式,因为手动配置有如下优点:

  熟悉命令之后,手动配置更快速,并且不需要重新启动。

  能够使用配置命令的高级特性。

  更容易维护配置文件,找出系统故障。

  能更深刻地了解系统配置是如何进行的。

  那么,下面就介绍一下如何手动配置网卡文件。首先检查网卡是否正常安装,Centos5.5的驱动非常强悍,基本上市面上的服务器网卡都可以正常安装,我们可以用如下命令检查网卡是否正常安装:

[root@localhost ~]# lspci | grep Ether   06:07.0 Ethernet controller: Intel Corporation 
82541GI Gigabit Ethernet Controller (rev 05)  
07:08.0 Ethernet controller: Intel Corporation 
82541GI Gigabit Ethernet Controller (rev 05) 
root@localhost~]# dmesg| grep error=dp-xml>

  一般来说,2.4版本以后的Linux可以支持的网卡芯片组驱动已经很完备了,包括著名厂商(如Intel),以及使用广泛的RealTek、Via等网卡芯片,所以大家可以很轻松地使用它们的网卡。我们还可以用lsmod命令通过加载模块的方法来加载特殊的网卡。

  在配置Linux网络设备时,它们分别被赋予别名,该别名由一个描述性的缩略词和一个编号组成。第一个设备的编号为0,其他设备依次为1、2、3……其中,eth0、eth1是以太网卡接口,大多数的以太网卡都用此名表示,包括许多并行端口以太网卡,接下来主要讨论这种类型的网卡。与网卡相关的TCP/IP网络配置文件是/etc/sysconfig/network-scripts/ifcfg-ethx,其中x是从0开始的,第一个以太网配置文件即/etc/sysconfig/network-scripts/ifcfg-eth0。以我的公网机器举例说明如下:

[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0   DEVICE=eth0  BOOTPROTO=none  HWADDR=00:14:22:1B:71:20   IPV6INIT=yes  IPV6_AUTOCONF=yes  ONBOOT=yes  NETMASK=255.255.255.192   IPADDR=203.93.236.146   GATEWAY=203.93.236.129   TYPE=Ethernet  PEERDNS=yes  USERCTL=no  NETMASK=255.255.255.192   IPADDR=203.93.236.146

  其中:

  DEVICE=eth0表示设定网卡的名称,它要跟文件名称对应。

  BOOTPROTO=none是启动时IP取得的协议,这里是固定的(此值也可以为static),如果是动态主机的话,要改成dhcp。

  HWADDR=00:14:22:1B:71:20指网卡的MAC地址,可以用ifconfig来取值。当然了,如果我们不指定这项的话,Centos5.5也会默认指定。

  IPV6INIT=yes表示支持IPv6,no表示不支持。

  IPV6_AUTOCONF=yes表示自动配置IPv6。

  ONBOOT=yes表示在开机的时候启动网卡。这里肯定要选择yes了,如果选择no的话则网卡在系统引导时不会被分配IP地址,那就很麻烦了。

NETMASK=255.255.255.192和IPADDR=203.93.236.146,这两个就没什么好说了,这是我们的IDC分配给公网的IP地址和子网掩码,强悍的是,顺序反了一样生效。

  GATEWAY=203.93.236.129是网关地址。

  TYPE=Ethernet表示网卡的类型为以太网型。

  PEERDNS=yes表示允许从DHCP获得的DNS覆盖本地的DNS。

网卡和DNS配置界面

  USERCTL=no表示不允许普通用户修改配置。

  配置完成后记得保存,然后重启服务server network restart即可生效。当然了,如果嫌麻烦,可以用Centos5.5的setup工具中的“网络配置”来操作,方法很简单,如图1-23所示。这里就不浪费篇幅了。

  2、修改机器的hostname

  下面来修改机器的hostname,如下所示:

vim /etc/sysconfig/network   NETWORKING=yes  NETWORKING_IPV6=yes  HOSTNAME=localhost.localdomain

  HOSTNAME后面紧跟的就是我们的主机名,这里是系统默认的localhost.localdomain。

  HOSTNAME的后面即可接我们要更改的主机名,重启后可以用hostname命令来查看。如果只是简单地用命令hostname,仅仅对当前生效,重启后会失效,比较好的方法是写到文件中保存。

  3、修改主机名查询静态表/etc/hosts

  Linux主机名的相关配置文件就是/etc/hosts,这个文件告诉本主机哪些域名对应哪些IP,哪些主机名对应哪些IP。下面对/etc/hosts的格式进行说明。一般/etc/hosts的内容会与下面的内容类似:

127.0.0.1 localhost.localdomain localhost   192.168.21.100 webserver.cn7788.com webserver   192.168.21.111 ftp.cn7788.com ftp

  通常hosts文件的每行为一个主机的信息,并且每行由3部分组成,各个部分间由空格隔开,这三部分所表示的意思如下。

  第一部分:网络IP地址

  第二部分:主机名或域名

  第三部分:主机名别名

  当然每行也可以是两部分,即主机IP地址和主机名,比如:192.168.21.100 webserver.cn7788.com另外,hosts文件中以#号开头的行是说明,不会被系统解释。

  这里稍微解释一下主机名(hostname)和域名(domain)的区别:主机名通常在局域网内使用,通过hosts文件,主机名就被解析到对应的IP地址上;域名通常在Internet上使用,但如果本机不想使用Internet上的域名解析,可以更改hosts文件,加入自己的域名解析。

  目前/etc/hosts多用于集群环境或开发测试环境(以免重新架构内网DNS服务器)。

  4、配置DNS域名解析服务器

  配置DNS域名就比较简单了,只需要配置/etc/resolv.conf文件即可,如下所示:

vim /etc/resolv.conf   nameserver 202.96.128.86   nameserver 202.96.128.166

  resolv.conf中最重要的选项是nameserver,它给出了要使用的名字服务器的IP地址。如果你通过nameserver选项指定了几个名字服务器。那么它们会以给出的先后顺序来决定主从服务器,如果主服务器上没有对应的域名,系统会自动从DNS上寻找。因此,你首先应该给出最可靠的服务器。目前,它至多支持3个服务器名字。


本文出自seven的测试人生公众号最新内容请见作者的GitHub页:http://qaseven.github.io/

相关实践学习
基于函数计算快速搭建Hexo博客系统
本场景介绍如何使用阿里云函数计算服务命令行工具快速搭建一个Hexo博客。
目录
相关文章
|
9天前
|
安全 Java 数据处理
Python网络编程基础(Socket编程)多线程/多进程服务器编程
【4月更文挑战第11天】在网络编程中,随着客户端数量的增加,服务器的处理能力成为了一个重要的考量因素。为了处理多个客户端的并发请求,我们通常需要采用多线程或多进程的方式。在本章中,我们将探讨多线程/多进程服务器编程的概念,并通过一个多线程服务器的示例来演示其实现。
|
10天前
|
安全 Linux 虚拟化
网络名称空间在Linux虚拟化技术中的位置
网络名称空间(Network Namespaces)是Linux内核特性之一,提供了隔离网络环境的能力,使得每个网络名称空间都拥有独立的网络设备、IP地址、路由表、端口号范围以及iptables规则等。这一特性在Linux虚拟化技术中占据了核心位置🌟,它不仅为构建轻量级虚拟化解决方案(如容器📦)提供了基础支持,也在传统的虚拟机技术中发挥作用,实现资源隔离和网络虚拟化。
网络名称空间在Linux虚拟化技术中的位置
|
10天前
|
网络协议 安全 Linux
Linux网络名称空间之独立网络资源管理
Linux网络名称空间是一种强大的虚拟化技术🛠️,它允许用户创建隔离的网络环境🌐,每个环境拥有独立的网络资源和配置。这项技术对于云计算☁️、容器化应用📦和网络安全🔒等领域至关重要。本文将详细介绍在Linux网络名称空间中可以拥有的独立网络资源,并指出应用开发人员在使用时应注意的重点。
|
10天前
|
安全 网络协议 Linux
Linux网络名称空间概述
Linux网络名称空间是操作系统级别的一种虚拟化技术🔄,它允许创建隔离的网络环境🌐,使得每个环境拥有自己独立的网络资源,如IP地址📍、路由表🗺️、防火墙规则🔥等。这种技术是Linux内核功能的一部分,为不同的用户空间进程提供了一种创建和使用独立网络协议栈的方式。本文旨在全方面、多维度解释Linux网络名称空间的概念、必要性和作用。
Linux网络名称空间概述
|
11天前
|
Java Linux
Springboot 解决linux服务器下获取不到项目Resources下资源
Springboot 解决linux服务器下获取不到项目Resources下资源
|
8天前
|
存储 算法 Linux
【实战项目】网络编程:在Linux环境下基于opencv和socket的人脸识别系统--C++实现
【实战项目】网络编程:在Linux环境下基于opencv和socket的人脸识别系统--C++实现
26 6
|
11天前
|
网络协议 Linux
在Linux中,管理和配置网络接口
在Linux中管理网络接口涉及多个命令,如`ifconfig`(在新版本中被`ip`取代)、`ip`(用于网络设备配置)、`nmcli`(NetworkManager的CLI工具)、`nmtui`(文本界面配置)、`route/ip route`(处理路由表)、`netstat/ss`(显示网络状态)和`hostnamectl/systemctl`(主机名和服务管理)。这些命令帮助用户启动接口、设置IP地址、查看连接和路由信息。不同发行版可能有差异,建议参考相应文档。
19 4
|
23小时前
|
Linux 网络安全 开发工具
【GitLab私有仓库】在Linux上用Gitlab搭建自己的私有库并配置cpolar内网穿透
【GitLab私有仓库】在Linux上用Gitlab搭建自己的私有库并配置cpolar内网穿透
|
7天前
|
Linux 数据安全/隐私保护
Linux基础与服务器架构综合小实践
【4月更文挑战第9天】Linux基础与服务器架构综合小实践
1192 6
|
29天前
|
运维 网络协议 安全
【Shell 命令集合 网络通讯 】Linux 网络抓包工具 tcpdump命令 使用指南
【Shell 命令集合 网络通讯 】Linux 网络抓包工具 tcpdump命令 使用指南
44 0

热门文章

最新文章