首页 > 代码库 > linux网络基础设置 以及 软件安装

linux网络基础设置 以及 软件安装

一、 linux网络基础设置

网络设置基本可以分为:网卡设置、网关设置、DNS设置三部分

  • ifconfig命令

ifconfig命令被用于配置和显示Linux内核中网络接口的网络参数。用ifconfig命令配置的网卡信息,在网卡重启后机器重启后,配置就不存在。要想将上述的配置信息永远的存的电脑里,那就要修改网卡的配置文件了。

参数

add<地址>:设置网络设备IPv6的ip地址;

del<地址>:删除网络设备IPv6的IP地址;

down:关闭指定的网络设备;

up:启动指定的网络设备;

netmask<子网掩码>:设置网络设备的子网掩码;

<hw<网络设备类型><硬件地址>:设置网络设备的类型与硬件地址;

io_addr<I/O地址>:设置网络设备的I/O地址;

irq<IRQ地址>:设置网络设备的IRQ;

media<网络媒介类型>:设置网络设备的媒介类型;

mem_start<内存地址>:设置网络设备在主内存所占用的起始地址;

metric<数目>:指定在计算数据包的转送次数时,所要加上的数目;

mtu<字节>:设置网络设备的MTU;

tunnel<地址>:建立IPv4与IPv6之间的隧道通信地址;

-broadcast<地址>:将要送往指定地址的数据包当成广播数据包来处理;

-pointopoint<地址>:与指定地址的网络设备建立直接连线,此模式具有保密功能;

-promisc:关闭或启动指定网络设备的promiscuous模式;

IP地址:指定网络设备的IP地址;

 

例如:修改ens33网卡的ip地址为198.172.16.23和子网掩码255.255.255.0的命令:

    ifconfig ens33 198.172.16.23 netmask 255.255.255.0

ifgonfig命令显示的信息如下:

最前面显示的是网卡名,常见的有:ens33 eth0 eth1 em1 em2 p2p2 p3p3 等

若是网卡没有启动,显示出的信息通常是没有IP地址的。启动网卡可以使用ifconfig up。

ifup:启动系统上指定的网卡

ifdown:停止系统上指定的网卡

以上两命令与ifconfig up / down 相同。

 

技术分享

 

 

例子2:

技术分享

 

冒号后的‘0’意为虚拟一个网卡,该网卡的IP可以任意设置,但是mac地址与已启用的其中一个网卡是一致的,两个同使用一个硬件。

 

Ps:

命令设置的网卡设置都是暂时的,希望永久更改网卡设置,需要更改设置文档。

连不上的话,可能需要重置防火墙设置:

技术分享

 

  

  • 更改网卡配置文件

希望永久更改网卡配置,需要更改网卡配置文件。

网卡配置文件:/etc/sysconfig/network-scripts/ifcfg-XXXX :ifcfg-XX开头的网卡对应名称文件。可更改配置文件然后重启网络服务生效配置。如果网卡没有下列条目,可以手动添加至文件中。

TYPE:类型

BOOTPROTO:网卡工作模式(静态or动态)

IPADDR:IP地址

NETMASK:子网掩码

ONBOOT:服务启动时,是否启动网卡

DNS1:主DNS地址

DNS2:副DNS地址

GATEWAY:网关地址

一个例子:

技术分享

 

注意:

最后的noboot选项必须为yes才能在网络启动时网卡自动启动生效。

文件更改后需要重启网络,可以用以下命令:

service network status 网卡状态

service network stop 停止网卡

service network start 启动网卡

service network restart 重启网卡

ruote -n:查看网管

systemctl(同上service)centos7下可以用

 

  • DNS配置

修改DNS服务器非常简单,只需要修改/etc/resolv.conf配置文件即可。

例:

 技术分享

 

域名解析优先级:/etc/hosts的优先级要高于配置的dns的解析优先级

 技术分享

 

 

  • 网关设置

使用route命令即可

例:

 技术分享

 

route网关配置

route命令用来显示并设置Linux内核中的网络路由表,设置的路由主要是静态路由。

命令格式:

  route [选项] [参数]

  注:route后不跟任何选项和参数表示查询路由信息

常用选项:

  -v:显示详细路由信息

  add:增加指定的路由记录或网关

  del:删除指定的路由记录或网关

  gw:设置默认网关

  dev:路由记录所表示的网络接口

配置示例:

  route add -net 192.168.1.0 netmask 255.255.255.0   增加一条到达192.168.1.0的路由

  route del -net 192.168.1.0 netmask 255.255.255.0   删除一条到达192.168.1.0的路由

  route add default gw 192.168.1.250      指定默认网关为192.168.1.250

  route del default gw 192.168.1.250      删除默认网关192.168.1.250

 

 

 

二、软件安装

  • rpm软件包

rpm命令是RPM软件包的管理工具。rpm原本是Red Hat Linux发行版专门用来管理Linux各项套件的程序,由于它遵循GPL规则且功能强大方便,因而广受欢迎。逐渐受到其他发行版的采用。RPM套件管理方式的出现,让Linux易于安装,升级,间接提升了Linux的适用度。

语法

rpm(选项)(参数)

选项

-a:查询所有套件;

-b<完成阶段><套件档>+或-t <完成阶段><套件档>+:设置包装套件的完成阶段,并指定套件档的文件名称;

-c:只列出组态配置文件,本参数需配合"-l"参数使用;

-d:只列出文本文件,本参数需配合"-l"参数使用;

-e<套件档>或--erase<套件档>:删除指定的套件;

-f<文件>+:查询拥有指定文件的套件;

-h或--hash:套件安装时列出标记;

-i:显示套件的相关信息;

-i<套件档>或--install<套件档>:安装指定的套件档;

-l:显示套件的文件列表;

-p<套件档>+:查询指定的RPM套件档;

-q:使用询问模式,当遇到任何问题时,rpm指令会先询问用户;

-R:显示套件的关联性信息;

-s:显示文件状态,本参数需配合"-l"参数使用;

-U<套件档>或--upgrade<套件档>:升级指定的套件档;

-v:显示指令执行过程;

-vv:详细显示指令执行过程,便于排错。

 

[root@centos-python ~]# rpm -qa          #查询所有已经安装的软件包,输出信息已省略
[root@centos-python ~]# rpm -ql gcc        #查询gcc安装后能产生哪些文件,输出信息已省略
[root@centos-python ~]# rpm -qf /usr/share/info/gcc.info.gz     #查看该文件属于哪个软件包
gcc-4.8.2-16.el7.x86_64
[root@centos-python ~]# rpm -qi gcc        #查询gcc的包信息,包括版本,平台,开发者等,输出信息已省略
[root@centos-python Packages]# rpm -ivh dhcp-4.2.5-27.el7.centos.x86_64.rpm     #安装dhcp
Preparing...                          ################################# [100%]
Updating / installing...
   1:dhcp-12:4.2.5-27.el7.centos      ################################# [100%]
[root@centos-python Packages]# rpm -evh dhcp-4.2.5-27.el7.centos.x86_64      #卸载dhcp
Preparing...                          ################################# [100%]
Cleaning up / removing...
   1:dhcp-12:4.2.5-27.el7.centos      ################################# [100%]
[root@centos-python Packages]# rpm -qR dhcp-4.2.5-27.el7.centos.x86_64      #查看已经安装了的dhcp包有哪些依赖关系,输出信息已省略

 

  • yum包管理工具

yum命令是RedHat开发的基于rpm的软件包管理器,它使系统管理人员交互和自动化地管理RPM软件包,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。

yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令。

yum命令的执行需要依赖于yum服务运行,yum一般从网络软件包存储库安装软件包和更新,所以使用yum需要从一个源配置文件中读取相关的信息。

yum源配置文件:/etc/yum.repos.d/<name>.repo,name名字自己定义,后缀必须是repo

语法

yum(选项)(参数)

选项

-h:显示帮助信息;

-y:对所有的提问都回答“yes”;

-c:指定配置文件;

-q:安静模式;

-v:详细模式;

-d:设置调试等级(0-10);

-e:设置错误等级(0-10);

-R:设置yum处理一个命令的最大等待时间;

-C:完全从缓存中运行,而不去下载或者更新任何头文件。

install  安装rpm软件包

update  更新rpm软件包

check-update  检查是否有可用的更新rpm软件包

remove  删除指定的rpm软件包

list  显示软件包的信息

search  检查软件包的信息

info  显示指定的rpm软件包的描述信息和概要信息

clean  清理yum过期的缓存

resolvedep  显示rpm软件包的依赖关系

localinstall  安装本地的rpm软件包

localupdate  显示本地rpm软件包进行更新

deplist  显示rpm软件包的所有依赖关系

groups  软件包组管理

自行设置yum库:

[root@centos-python Packages]# cat /etc/yum.repos.d/dvd.repo 
[dvd]                #yum源的库名字,自己定义的,最好跟文件名一样
name=dvd              #yum源的库的说明信息,自定义
baseurl=file:///mnt        #yum源的库的地址,file://表示本地库,/mnt表示路径,另外还可以用http://ip/path、ftp://ip/path等远程的库,远程库需要用相关服务进行文件共享才行
gpgcheck=0              #是否进行gpg签名校验
enable=1                #开启该yum源配置,默认就是开启,可不写这一行

应用举例:

[root@centos-python ~]# yum list            #列出所有库所提供的软件包列表
[root@centos-python ~]# yum install vsftpd -y    #安装vsftpd
[root@centos-python ~]# yum remove vsftpd -y     #删除vsftpd
[root@centos-python ~]# yum deplist vsftpd      #列出vsftpd的依赖关系
[root@centos-python ~]# yum info vsftpd        #查看vsftpd的描述和概要信息
[root@centos-python ~]# yum groups list        #列出所有软件包组
[root@centos-python ~]# yum groups install KDE    #安装KDE软件包组
[root@centos-python ~]# yum search dhcp        #查找并显示dhcp的信息
[root@centos-python ~]# yum clean all          #清除缓存信息
[root@centos-python ~]# yum repolist           #查看源库的列表,库可以指定多个,可以写在一个repo文件里,也可以分开写

 

  • 源代码包

源代码包的安装一般由4个步骤组成:解压源代码包、配置(configure)、编译(make)、安装(make install),以下将已python3.6.1为例说明

解压源代码包:

  源代码包一般使用gz、bz2方式封装(使用tar即可解包),还有一些使用xz(xz -d解压)、zip(unzip解压)

配置(configure):

  每一个软件包解压后,内部基本都有configure文件,如下configure文件

[root@centos-python ~]# cd Python-3.6.1/
[root@centos-python Python-3.6.1]# ls
aclocal.m4     config.sub    Include          Mac              Modules  Programs        Python            setup.py
build          configure     install-sh       Makefile         Objects  pybuilddir.txt  python-config     Tools
config.guess   configure.ac  Lib              Makefile.pre     Parser   pyconfig.h      python-config.py
config.log     Doc           libpython3.6m.a  Makefile.pre.in  PC       pyconfig.h.in   python-gdb.py
config.status  Grammar       LICENSE          Misc             PCbuild  python          README.rst

configure是一个可执行的配置脚本,它有很多选项,在待安装的源码路径下使用命令./configure –help输出详细的选项列表

  一般常用的就一个,--prefix选项是配置软件安装的路径,如果不配置该选项,安装后可执行文件默认放在/usr/local/bin,库文件默认放在/usr/local/lib,配置文件默认放在/usr/local/etc,其它的资源文件放在/usr/local/share,指定路径后就会存放到相应的目录内。

[root@centos-python Python-3.6.1]# ./configure --prefix=/usr/local/python3        #配置安装路径为/usr/local/python3

编译(make):

  在源代码路径下执行make命令,make执行时,会在当前目录下搜索makefile文件,makefile文件记录了该源代码软件进行编译的详细信息,执行该过程会用到例如gcc编译环境、zlib函式库等环境,缺少相应的软件环境会导致编译失败,一般失败的原因会提示,用户根据提示一般都能解决。

[root@centos-python Python-3.6.1]# make

编译安装(make install):

  make install会根据makefile中的install选项将上一步编译完的数据安装到配置的目录中,想要卸载已安装的源代码包,可以使用make uninstall(configure配置和make编译需要完成)。

[root@centos-python Python-3.6.1]# make install

到达这一步就已经安装完成了,但是要使用python3.6.1还需要修改以下系统的环境变量

软件安装后配置:

  将python3.6.1的执行文件路径写到环境变量配置文件中,并失之生效即可。

[root@centos-python Python-3.6.1]# echo  export PATH="$PATH:/usr/local/python3/bin" >> /etc/profile 
[root@centos-python Python-3.6.1]# source /etc/profile

验证:

[root@centos-python Python-3.6.1]# pip3 -V
pip 9.0.1 from /usr/local/python3/lib/python3.6/site-packages (python 3.6)
[root@centos-python Python-3.6.1]# python3
Python 3.6.1 (default, May 28 2017, 22:15:46) 
[GCC 4.8.2 20140120 (Red Hat 4.8.2-16)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> exit()

 

  

linux网络基础设置 以及 软件安装