linux网络参数的配置实验报告(linux网络基础实验报告)

http://www.itjxue.com  2023-02-26 06:33  来源:未知  点击次数: 

linux中的网络配置。。

一.安装和配置网络设备

在安装linux时,如果你有网卡,安装程序将会提示你给出tcp/ip网络的配置参数,如本机的 ip地址,缺省网关的ip地址,DNS的ip地址等等.根据这些配置参数,安装程序将会自动把网卡(linux系统首先要支持)驱动程序编译到内核中去.但是我们一定要了解加载网卡驱动程序的过程,那么在以后改变网卡,使用多个网卡的时候我们就会很容易的操作.网卡的驱动程序是作为模块加载到内核中去的,所有linux支持的网卡驱动程序都是存放在目录/lib/modules/(linux版本号)/net/ ,例如inter的82559系列10/100M自适应的引导网卡的驱动程序是eepro100.o,3COM的3C509 ISA网卡的驱动程序是3C509.o,DLINK的pci 10网卡的驱动程序是via-rhine.o,NE2000兼容性网卡的驱动程序是ne2k-pci.o和ne.o.在了解了这些基本的驱动程序之后,我们就可以通过修改模块配置文件来更换网卡或者增加网卡.

1. 修改/etc/conf.modules 文件

这个配置文件是加载模块的重要参数文件,大家先看一个范例文件

#/etc/conf.modules

alias eth0 eepro100

alias eth1 eepro100

这个文件是一个装有两块inter 82559系列网卡的linux系统中的conf.modules中的内容.alias命令表明以太口(如eth0)所具有的驱动程序的名称,alias eth0 eepro100说明在零号以太网口所要加载的驱动程序是eepro100.o.那么在使用命令 modprobe eth0的时候,系统将自动将eepro100.o加载到内核中.对于pci的网卡来说,由于系统会自动找到网卡的io地址和中断号,所以没有必要在conf.modules中使用选项options来指定网卡的io地址和中断号.但是对应于ISA网卡,则必须要在conf.modules中指定硬件的io地址或中断号, 如下所示,表明了一块NE的ISA网卡的conf.modules文件.

alias eth0 ne

options ne io=0x300 irq=5

在修改完conf.modules文件之后,就可以使用命令来加载模块,例如要插入inter的第二块网卡:

#insmod /lib/modules/2.2.14/net/eepro100.o

这样就可以在以太口加载模块eepro100.o.同时,还可以使用命令来查看当前加载的模块信息:

[root@ice /etc]# lsmod

Module Size Used by

eepro100 15652 2 (autoclean)

返回结果的含义是当前加载的模块是eepro100,大小是15652个字节,使用者两个,方式是自动清除.

2. 修改/etc/lilo.conf文件

在一些比较新的linux版本中,由于操作系统自动检测所有相关的硬件,所以此时不必修改/etc/lilo.conf文件.但是对于ISA网卡和老的版本,为了在系统初始化中对新加的网卡进行初始化,可以修改lilo.conf文件.在/etc/lilo.conf文件中增加如下命令:

append="ether=5,0x240,eth0 ether=7,0x300,eth1"

这条命令的含义是eth0的io地址是0x240,中断是5,eth1的io地址是0x300,中断是7.

实际上,这条语句来自在系统引导影像文件时传递的参数,

LILO: linux ether=5,0x240,eth0 ether=7,0x300,eth1

这种方法也同样能够使linux系统配置好两个网卡.类似的,在使用三个以上网卡的时候,也可以依照同样的方法.

在配置好网卡之后,就应该配置TCP/IP的参数,在一般情况下,在安装linux系统的同时就会提示你配置网络参数.但是之后如果我们想要修改网络设置,可以使用如下的命令:

#ifconfig eth0 A.B.C.D netmask E.F.G.H

A.B.C.D 是eth0的IP地址,E.F.G.H是网络掩码.

其实,在linux系统中我们可以给一块网卡设置多个ip地址,例如下面的命令:

#ifconfig eth0:1 202.112.11.218 netmask 255.255.255.192

然后,使用命令#ifconfig -a 就可以看到所有的网络接口的界面:

eth0 Link encap:Ethernet HWaddr 00:90:27:58:AF:1A

inet addr:202.112.13.204 Bcast:202.112.13.255 Mask:255.255.255.192

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:435510 errors:0 dropped:0 overruns:0 frame:2

TX packets:538988 errors:0 dropped:0 overruns:0 carrier:0

collisions:318683 txqueuelen:100

Interrupt:10 Base address:0xc000

eth0:1 Link encap:Ethernet HWaddr 00:90:27:58:AF:1A

inet addr:202.112.11.218 Bcast:202.112.11.255 Mask:255.255.255.192

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

Interrupt:10 Base address:0xc000

lo Link encap:Local Loopback

inet addr:127.0.0.1 Mask:255.0.0.0

UP LOOPBACK RUNNING MTU:3924 Metric:1

RX packets:2055 errors:0 dropped:0 overruns:0 frame:0

TX packets:2055 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:0

我们看到网络接口有三个,eth0 , eth0:1,lo,eth0是真实的以太网络接口,eth0:1和eth0是同一块网卡,只不过绑定了另外的一个地址,lo是会送地址。eth0和eth0:1可以使用不同网段的ip地址,这在同一个物理网段却使用不同的网络地址的时候十分有用。

另外,网卡有一种模式是混杂模式(prosimc),在这个模式下,网卡将会接收网络中所有的数据包,一些linux下的网络监听工具例如tcpdump,snort等等都是把网卡设置为混杂模式.

ifconfig命令可以在本次运行的时间内改变网卡的ip地址,但是如果系统重新启动,linux仍然按照原来的默认的设置启动网络接口。这时候,可以使用netconfig或netconf命令来重新设置默认网络参数。netconfig 命令是重新配置基本的tcp/ip参数,参数包括是否配置为动态获得ip地址(dhcpd和bootp),网卡的ip地址,网络掩码,缺省网关和首选的域名服务器地址。netconf命令可以详细的配置所有网络的参数,分为客户端任务,服务器端任务和其他的配置三个部分,在客户端的配置中,主要包括基本主机的配置(主机名,有效域名,网络别名,对应相应网卡的ip地址,网络掩码,网络设备名,网络设备的内核驱动程序),DNS地址配置,缺省网关的地址配置,NIS地址配置,ipx接口配置,ppp/slip的配置等等。在服务器端配置中,主要包括NFS的配置,DNS的配置,ApacheWebServer配置,Samba的配置和Wu-ftpd的配置。在其他的配置选项中,一个是关于/etc/hosts文件中的主机配置,一个是关于/etc/networks文件中的网络配置信息,最后是关于使用linuxconf配置的信息。

在linuxconf命令下,同样也可以配置网络信息,但是大家可以发现,linuxconf程序是调用netconf来进行网络配置的。

另外,在/etc/sysconfig/network-scripts目录下存放着系统关于网络的配置文件,范例如下:

:brbr

ifcfg-eth0* ifdown-post* ifup-aliases* ifup-ppp*

ifcfg-eth1* ifdown-ppp* ifup-ipx* ifup-routes*

ifcfg-lo* ifdown-sl* ifup-plip* ifup-sl*

ifdown@ ifup@ ifup-post* network-functions

ifcfg-eth0是以太口eth0的配置信息,它的内容如下:

DEVICE="eth0" /*指明网络设备名称*/

IPADDR="202.112.13.204" /*指明网络设备的ip地址*/

NETMASK="255.255.255.192" /*指明网络掩码*/

NETWORK=202.112.13.192 /*指明网络地址*/

BROADCAST=202.112.13.255 /*指明广播地址*/

ONBOOT="yes" /*指明在系统启动时是否激活网卡*/

BOOTPROTO="none" /*指明是否使用bootp协议*/

所以,我们也可以修改这个文件来进行linux下网络参数的改变。[/SIZE]

--------------------------------------------------------------------------------

二 网络服务的配置

在这一部分,我们并不是详细的介绍具体的网络服务器(DNS,FTP,WWW,SENDMAIL)的配置(那将是巨大的篇幅),而是介绍一下与linux网络服务的配置相关的文件.

1. LILO的配置文件

在linux系统中,有一个系统引导程序,那就是lilo(linux loadin),利用lilo可以实现多操作系统的选择启动.它的配置文件是/etc/lilo.conf.在这个配置文件中,lilo的配置参数主要分为两个部分,一个是全局配置参数,包括设置启动设备等等.另一个是局部配置参数,包括每个引导影像文件的配置参数.在这里我就不详细介绍每个参数,特别的仅仅说明两个重要的参数:password和restricted选项,password选项为每个引导的影像文件加入口令保护.

我们都知道,在linux系统中有一个运行模式是单用户模式,在这个模式下,用户是以超级用户的身份登录到linux系统中.人们可以通过在lilo引导的时候加入参数(linux single 或linux init 0)就可以不需要口令直接进入单用户模式的超级用户环境中,这将是十分危险的.所以在lilo.conf中增加了password的配置选项来为每个影像文件增加口令保护.

你可以在全局模式中使用password选项(对所有影像文件都加入相同的口令),或者为每个单独的影像文件加入口令.这样一来,在每次系统启动时,都会要求用户输入口令.也许你觉得每次都要输入口令很麻烦,可以使用restricted选项,它可以使lilo仅仅在linux启动时输入了参数(例如 linux single)的时候才会检验密码.这两个选项可以极大的增加系统的安全性,建议在lilo.conf文件中设置它们.

由于password在/etc/lilo.conf文件是以明文存放的,所以必须要将/etc/lilo.conf文件的属性改为仅仅root可读(0400).

另外,在lilo的早期版本中,存在着引导扇区必须存放到前1024柱面的限制,在lilo的2.51版本中已经突破了这个限制,同时引导界面也变成了图形界面更加直观.将最新版本下载解压后,使用命令make" 后,使用命令make install即可完成安装.注意: 物理安全才是最基本的安全,即使在lilo.conf中增加了口令保护,如果没有物理安全,恶意闯入者可以使用启动软盘启动linux系统.

2. 域名服务的配置文件

(1)/etc/HOSTNAME 在这个文件中保存着linux系统的主机名和域名.范例文件

ice.xanet.edu.cn

这个文件表明了主机名ice,域名是xanet.edu.cn

(2)/etc/hosts和/etc/networks文件 在域名服务系统中,有着主机表机制,/etc/hosts和/etc/networks就是主机表发展而来在/etc/hosts中存放着你不需要DNS系统查询而得的主机ip地址和主机名的对应,下面是一个范例文件:

# ip 地址 主机名 别名

127.0.0.1 localhosts loopback

202.117.1.13 www

202.117.1.24 ftp

在/etc/networks 中,存放着网络ip地址和网络名称的一一对应.它的文件格式和/etc/hosts是类似的

(3)/etc/resolv.conf 这个文件是DNS域名解析器的主要配置文件,它的格式十分简单,每一行由一个主关键字组成./etc/resolv.conf的关键字主要有:

domain 指明缺省的本地域名,

search 指明了一系列查找主机名的时候搜索的域名列表,

nameserver 指明了在进行域名解析时域名服务器的ip地址.下面给出一个范例文件:

#/etc/resolv.conf

domain xjtu.edu.cn

search xjtu.edu.cn edu.cn

nameserver 202.117.0.20

nameserver 202.117.1.9

(4)/etc/host.conf 在系统中同时存在着DNS域名解析和/etc/hosts的主机表机制时,由文件/etc/host.conf来说明了解析器的查询顺序.范例文件如下:

#/etc/host.conf

order hosts,bind #解析器查询顺序是文件/etc/hosts,然后是DNS

multi on #允许主机拥有多个ip地址

nospoof on #禁止ip地址欺骗

3. DHCP的配置文件

/etc/dhcpd.conf是DHCPD的配置文件,我们可以通过在/etc/dhcpd.conf文件中的配置来实现在局域网中动态分配ip地址,一台linux主机设置为dhcpd服务器,通过鉴别网卡的MAC地址来动态的分配ip地址.范例文件如下:

option domain-name "chinapub.com";

use-host-decl-names off;

subnet 210.27.48.0 netmask 255.255.255.192

{

filename "/tmp/image";

host dial_server

{

hardware ethernet 00:02:b3:11:f2:30;

fixed-address 210.27.48.8;

filename "/tmp/image";

}

}

在这个文件中,最主要的是通过设置的硬件地址来鉴别局域网中的主机,并分配给它指定的ip地址,hardware ethernet 00:02:b3:11:f2:30指定要动态分配ip的主机得网卡的MAC地址,fixed-address 210.27.48.8指定分配其ip地址。filename "/tmp/image"是通过tftp服务,主机所要得到的影像文件,可以通过得到的影像文件来引导主机启动。

4. 超级守候进程inetd的配置

在linux系统中有一个超级守候进程inetd,inetd监听由文件/etc/services指定的服务的端口,inetd根据网络连接请求,调用相应的服务进程来相应请求.在这里有两个文件十分重要,/etc/inetd.conf和/etc/services,文件/etc/services定义linu系统中所有服务的名称,协议类型,服务的端口等等信息,/etc/inetd.conf是inetd的配置文件,由它来指定那些服务可以由inetd来监听,以及相应的服务进程的调用命令.首先介绍一下/etc/services文件,/etc/services文件是一个服务名和服务端口对应的数据库文件,如下面所示:/etc/services文件

(实际上,以上仅仅是/etc/services的一部分,限于篇幅没有全部写出)

在这个文件中,为了安全考虑,我们可以修改一些常用服务的端口地址,例如我们可以把telnet服务的端口地址改为52323,www的端口改为8080,ftp端口地址改为2121等等,这样仅仅需要在应用程序中修改相应的端口即可.这样可以提高系统的安全性.

/etc/inetd.conf文件是inetd的配置文件, 首先要了解一下linux服务器到底要提供哪些服务。一个很好的原则是" 禁止所有不需要的服务",这样黑客就少了一些攻击系统的机会./etc/inetd.conf范例文件

大家看到的这个文件已经修改过的文件,除了telnet 和ftp服务,其他所有的服务都被禁止了.在修改了/etc/inetd.conf之后,使用命令kill -HUP (inetd的进程号),使inetd重新读取配置文件并重新启动即可.

5. ip route的配置

利用linux,一台普通的微机也可以实现高性价比的路由器.首先让我们了解一下linux的查看路由信息的命令:

[root@ice /etc]# route -n

Kernel IP routing table

Destination Gateway Genmask Flags Metric Ref Use Iface

202.112.13.204 0.0.0.0 255.255.255.255 UH 0 0 0 eth0

202.117.48.43 0.0.0.0 255.255.255.255 UH 0 0 0 eth1

202.112.13.192 202.112.13.204 255.255.255.192 UG 0 0 0 eth0

202.112.13.192 0.0.0.0 255.255.255.192 U 0 0 0 eth0

202.117.48.0 202.117.48.43 255.255.255.0 UG 0 0 0 eth1

202.117.48.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1

127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo

0.0.0.0 202.117.48.1 0.0.0.0 UG 0 0 0 eth1

命令netstat -r n 得到输出结果和route -n是一样的.它们操作的都是linux 内核的路由表.

命令cat /proc/net/route的输出结果是以十六进制表示的路由表.

[root@ice /etc]# cat /proc/net/route

Iface Destination Gateway Flags RefCnt Use Metric Mask

eth0 CC0D70CA 00000000 0005 0 0 0 FFFFFFF

eth1 2B3075CA 00000000 0005 0 0 0 FFFFFFF

eth0 C00D70CA CC0D70CA 0003 0 0 0 C0FFFFF

eth0 C00D70CA 00000000 0001 0 0 0 C0FFFFF

eth1 003075CA 2B3075CA 0003 0 0 0 00FFFFF

eth1 003075CA 00000000 0001 0 0 0 00FFFFF

lo 0000007F 00000000 0001 0 0 0 000000F

eth1 00000000 013075CA 0003 0 0 0 0000000

通过计算可以知道,下面的这个路由表(十六进制)和前面的路由表(十进制)是一致的.

我们还可以通过命令route add (del )来操作路由表,增加和删除路由信息.

除了上面的静态路由,linux还可以通过routed来实现rip协议的动态路由.我们只需要打开linux的路由转发功能,在/proc/sys/net/ipv4/ip_forward文件中增加一个字符1.

三.网络的安全设置

在这一部分,再次强调一定要修改/etc/inetd.conf,安全的策略是禁止所有不需要的服务.除此之外,还有以下几个文件和网络安全相关.

(1)./etc/ftpusers ftp服务是一个不太安全的服务,所以/etc/ftpusers限定了不允许通过ftp访问linux主机的用户列表.当一个ftp请求传送到ftpd,ftpd首先检查用户名,如果用户名在/etc/ftpusers中,则ftpd将不会允许该用户继续连接.范例文件如下:

# /etc/ftpusers - users not allowed to login via ftp

root

bin

daemon

adm

lp

sync

shutdown

halt

mail

news

uucp

operator

games

nobody

nadmin

(2)/etc/securetty 在linux系统中,总共有六个终端控制台,我们可以在/etc/securetty中设置哪个终端允许root登录,所有其他没有写入文件中的终端都不允许root登录.范例文件如下:

# /etc/securetty - tty's on which root is allowed to login

tty1

tty2

tty3

tty4

(3)tcpd的控制登录文件/etc/hosts.allow和/etc/hosts.deny

在tcpd服务进程中,通过在/etc/hosts.allow和/etc/hosts.deny中的访问控制规则来控制外部对linux主机的访问.它们的格式都是

service-list : hosts-list [ : command]

服务进程的名称 : 主机列表 可选,当规则满足时的操作

在主机表中可以使用域名或ip地址,ALL表示匹配所有项,EXCEPT表示除了某些项, PARANOID表示当ip地址和域名不匹配时(域名伪装)匹配该项.

范例文件如下:

#

# hosts.allow This file describes the names of the hosts which are

# allowed to use the local INET services, as decided

# by the '/usr/sbin/tcpd' server.

#

ALL : 202.112.13.0/255.255.255.0

ftpd: 202.117.13.196

in.telnetd: 202.117.48.33

ALL : 127.0.0.1

在这个文件中,网段202.112.13.0/24可以访问linux系统中所有的网络服务,主机202.117.13.196只能访问ftpd服务,主机202.117.48.33只能访问telnetd服务.本机自身可以访问所有网络服务.

在/etc/hosts.deny文件中禁止所有其他情况:

#/etc/hosts.deny

ALL : DENY : spawn (/usr/bin/finger -lp @%h | /bin/mail -s "Port Denial noted in %d-%h" root)

在/etc/hosts.allow中,定义了在所有其他情况下,linux所应该执行的操作.spawn选项允许linux系统在匹配规则中执行指定的shell命令,在我们的例子中,linux系统在发现无授权的访问时,将会发送给超级用户一封主题是"Port Denial noted in %d-%h"的邮件,在这里,我们先要介绍一下allow和deny文件中的变量扩展.

(4)/etc/issue和/etc/issue.net

在我们登录linux系统中的时候,我们常常可以看到我们linux系统的版本号等敏感信息.在如今的网络攻击行为中,许多黑客首先要收集目标系统的信息,版本号等就是十分重要的信息,所以在linux系统中一般要把这些信息隐藏起来./etc/issue和/etc/issue.net就是存放这些信息的文件.我们可以修改这些文件来隐藏版本信息.

另外,在每次linux重新启动的时候,都会在脚本/etc/rc.d/rc.local中再次覆盖上面那两个文件./etc/rc.d/rc.local文件的范例如下:

# This script will be executed *after* all the other init scripts.

# You can put your own initialization stuff in here if you don't

# want to do the full Sys V style init stuff.

if [ -f /etc/redhat-release ]; then

R=$(cat /etc/redhat-release)

arch=$(uname -m)

a="a"

case "_$arch" in

_a*) a="an";;

_i*) a="an";;

esac

NUMPROC=`egrep -c "^cpu[0-9]+" /proc/stat`

if [ "$NUMPROC" -gt "1" ]; then

SMP="$NUMPROC-processor "

if [ "$NUMPROC" = "8" -o "$NUMPROC" = "11" ]; then

a="an"

else

a="a"

fi

fi

# This will overwrite /etc/issue at every boot. So, make any changes you

# want to make to /etc/issue here or you will lose them when you reboot.

#echo "" /etc/issue

#echo "$R" /etc/issue

# echo "Kernel $(uname -r) on $a $SMP$(uname -m)" /etc/issue

cp -f /etc/issue /etc/issue.net

echo /etc/issue

在文件中黑体的部分就是得到系统版本信息的地方.一定要将他们注释掉.

(5)其他配置

在普通微机中,都可以通过ctl+alt+del三键的组合来重新启动linux.这样是十分不安全的,所以要在/etc/inittab文件中注释该功能:

# Trap CTRL-ALT-DELETE

#ca::ctrlaltdel:/sbin/shutdown -t3 -r now

Linux配置网络参数之IP地址、子网掩码、网关地址,DNS

修改网卡命令规则 (eth0、eth1、eth2……)

打开grub内核引导程序,在……quiet 后面添加:

让网卡命名规则生效

nmcli命令删除错误网卡命名

nmcli命令添加网卡命名

解析: nmcli connection 添加 类型 以太网设备 网卡设备名为eth0 nmcli命令的命名为eth0

修改IP地址、子网掩码、网关地址、DNS

解析:nmcli connection 修改 网卡名 ipv4.方法 手工配置 ipv4.地址192.168.4.7/24 ipv4.网关 192.168.4.254 每次开机自动启用以上所有参数

查看网卡配置文件

查看网关地址信息

linux网络配置

网卡的配置:

网卡配置文件

对于网卡信息的配置通常包括:配置IP地址、子网掩码和网关。网卡信息保存在网卡配置文件中。网卡配置文件位于/etc/sysconfig/network-scripts目录下。一块网卡对应一个网卡配置文件,配置文件命名规则:

ifcfg-网卡类型以及网卡的序列号

由于以太网卡类型是eth,网卡的序列号从0开始,所以第一块网卡的配置文件名称为ifcfg-eth0,第二块网卡为ifcfg-eth1,以此类推。

网卡配置文件中常用配置文件名的还以如下:

DEVICE=eth0,定义该网卡的识别名称。

BOOTPROTO=dhcp,启动该网卡的识别名称。

static/none:代表固定的IP地址;bootp/dhcp:通过BOOTP或DHCP协议取得IP地址。 ?

HWADDR=00:02:B3:0B:64:22,该网卡的MAC地址。 ?

ONBOOT=yes,启动network服务时,是否启用该网卡。当RedHat系统启动network服务时,network服务一次读取保存于/etc/sysconfig/network-scripts/目录下所有网卡的配置文件。如果网卡配置文件的ONBOOT设置为yes,则network服务就会调用ifup命令启动该网卡;如果网卡的配置文件的ONBOOT参数为no,network会跳过启动这个网卡的工作。

TYPE=Ethernet,网卡的类型。

USERCTL=no,是否允许普通用户启动或者停止该网卡。

IPV6INIT=no,是否在该网卡上启动IPV6的功能。

PEERDNS=yes,是否允许网卡在启动时向DHCP服务器查询DNS信息,并自动覆盖/etc/resolv.conf配置文件。

以下配置项用于指定该网卡的静态IP地址,此时BOOTPROTO必须为static或者none。

IPADDR=192.168.1.55,静态方式指定网卡的IP地址。

NETMASK=255.255.255.0,定义该网卡的子网掩码。

MTU=1500,设置网卡的MAC帧最大传输单位大小。

GATEWAY=192.168.1.1,设置网络的默认网关。

DNS1=192.168.128.5,指定主要的DNS服务器地址。

DNS2=192.168.128.6,指定备用的DNS服务器地址。

2.配置网卡信息

配置网卡信息可以直接修改网卡配置文件中的相关内容,但是这种方法对用户的要求比较高。在RedHat Enterprise Linux5中常用于设置IP地址的三个命令,分别是:system-config-network、setup和ifconfig。其中ifconfig设置IP地址的方法将在常用命令部分中介绍。

(1)system-config-network命令 ?

在命令提示行下输入system-config-network命令将会启动可视化网络配置界面(对于新手这个方式比较简单)

(2)setup设置网卡信息

在命令行下输入setup命令后将会进入系统设置界面,然后选择网卡设置进入网卡设置界面(很多系统都可以使用setup命令设置,运用比较广)

(3)ifconfig网卡常用命令

ifconfig命令的功能比较强大,可以用来查看和设置网卡信息。

a.查看网卡信息

命令语法:ifconfig [参数]

参数说明:

无参数:显示当前活动的网卡

- a:显示系统中所有网卡的配置信息

网卡设备名称:显示指定网卡的配置信息

eg:查看eth0网卡信息:#ifconfig eth0

b.设置IP地址

命令语法:ifconfig 网卡设备名 IP地址 netmask 子网掩码

(注:ifconfig命令设置的IP地址即时生效,但是重启机器后,IP地址又回复到原IP地址,所以ifconfig命令只能用于设置临时的IP地址)

eg:ifconfig eth0 192.168.168.156 netmask 255.255.255.0

c.修改MAC地址

命令语法:ifconfig 网卡设备名 hw ether MAC地址

(注:修改网卡的MAC地址前要禁用网卡,修改后要启用网卡)

eg:ifconfig eth0 hw ether 00:0C:29:03:F3:76

几个常用的命令: ?

1.ifdown禁用网卡

语法:ifdown 网卡设备名

2.ifup启用网卡

语法:ifup 网卡设备名

3.绑定IP和MAC地址

实现方法:创建/etc/ethers文件,文件内容“ip地址 mac地址”,然后执行“arp -f”命令,是配置生效。

eg:将IP地址193.168.168.154与MAC地址00:0C:29:03:F3:75绑定。

#echo "193.168.168.154 00:0C:29:03:F3:75"/etc/ethers

#arp -f

Linux 应用 网络配置

网络信息查看

设置网络地址:

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

你将会看到:

DEVICE=eth0

BOOTPROTO=statics

HWADDR=00:0C:29:13:D1:6F

ONBOOT=yes

TYPE=Ethernet

IPADDR=192.168.0.212

NETMASK=255.255.255.0

BOOTPROTO=statics :表示使用静太IP地址。

ONBOOT=yes:表示开机时,启动这个网卡。

取动态IP地址地址

DEVICE=eth0

ONBOOT=yes

BOOTPROTO=dhcp

设置好IP地址,现在还不能生效哦,要重新启动网卡才可以。

Ifconfig 网络接口名称 network 子网掩码

例:# ifconfig eth0 192.168.1.222 netmask 255.255.255.0

注:手工配置linux网络只限于临时使用,配置不保存。

扩展:# ifconfig eth0:1 10.0.0.1 netmask 255.0.0.0 一块网卡配置多个子ip地址。

# ifconfig eth0 hw ether MAC地址 修改网卡的mac地址,

# /etc/rc.d/init.d/network start 启动network

# /etc/rc.d/init.d/network stop 停止network

# /etc/rc.d/init.d/network restart 重启network

主机名称配置文件,修改主机名

/etc/sysconfig/network

例:# vi /etc/sysconfig/network 使用vi编辑器打开主机名配置文件。

# vi /etc/sysconfig/network

NETWORKING=yes 网络是否可用。

HOSTNAME=xxxx xxxx为新设置的主机名。

本地主机名称解析文件

/etc/hosts

Hosts 和 DNS具有类似的主机名称解析功能

域名服务器配置文件

/etc/resolv.conf

最多可以设置3行,前面的生效

查看网路接口信息

1.了解linux中的网络接口设备

$/sbin/ifconfig 查看所有活动网络接口信息,其中包括一个lo环回端口。

2.查看指定网络接口的信息

$/sbin/ifconfig 网络接口名称 查看指定接口信息。

3.查看系统中所有网络接口的信息

$/sbin/ifconfig –a 查看所有接口信息,包括非活动状态接口。

注:普通用户查看网络接口信息时,需要在命令前加“/sbin”,而管理员却不用。这是由于命令搜索路径的原因,可以通过“$echo $PATH”查看。

查看网关地址和路由信息

1、查看主机路由信息

#/route

显示当前linux主机中的路由表信息。

#/route |grep default

在route命令的显示结果中以“default”开始的行显示了,主机的默认网关地址,将route命令和grep命令组合,使用过滤route命令的显示结果只显示默认网关地址。

2.测试与其它主机的网络链接

$ping 目的主机地址

使用ping命令测试与其它主机的网络链接。ctrl+C终止。

$ping –c 测试数据包数量 目的主机地址

使用ping命令发送指定数量的数据包进行网络链接测试。

$使用ping命令进行网络链接测试的技巧。

注:当ping命令测试不成功时并不能判断当前主机到目标主机的连接是断开的,因为有很多因素,(如网络防火墙等)可以导致网络连接正常时主机之间无法ping通。

3、测试与其它主机的网络链接路径

$traceroute 目的主机地址

traceroute命令显示当前主机与目的主机之间经过的所,有网络节点的地址,以及当前主机到每个中间结点的连接状态。

查看主机名称信息

1、查看当前主机名称

$Hostname 查看当前的主机名。

2、使用dns服务器查询域名

$Nslookup

交互模式:通常用于对DNS服务器进行测试

直接模式:用于查询某个域名对应的ip地址

使用网络命令进行网络设置

网络设置的方法

1、DHCP网络配置

$Dhclient 使用dhclient命令可以从DHCP服务器中申请新的网络配置应用到当前主机。

注:DHCP服务器通常提供给DHCP客户端最基本的网络配置信息,包括:接口ip地址,默认网关,DNS

服务器地址。

2、手工网络配置

网络接口ip地址和子网掩码

默认网关地址

当前主机名称

DNS服务器地址

Ip地址配置命令

Ifconfig 网络接口名称 network 子网掩码

例:# ifconfig eth0 192.168.1.222 netmask 255.255.255.0

注:手工配置linux网络只限于临时使用,配置不保存。

扩展:# ifconfig eth0:1 10.0.0.1 netmask 255.0.0.0 一块网卡配置多个子ip地址。

# ifconfig eth0 hw ether MAC地址 修改网卡的mac地址,

路由配置命令

1、删除默认网关路由

$Route del default gw 默认网关地址

2、添加默认网关路由

$Route add default gw 默认网关地址

例:#route add default gw 192.168.1.1

主机名称配置命令

# hostname 123

将主机暂时名称改为123。

DNS域名解析

Nslookup

server

显示linux系统中使用的DNS服务器地址,也可临时设置生效。

修改配置文件进行网络设置

使用工具进行网络设置

# Netconfig 图形界面设置网络,重启network后生效。

界面中需要填写的内容:

主机网络接口的ip地址。

网络接口的子网掩码。

默认网关地址。

主DNS服务器的ip地址。

网络服务启动脚本

/etc/init.d/network 从新启动才能生效

扩展:# /etc/rc.d/init.d/network start 启动network

# /etc/rc.d/init.d/network stop 停止network

# /etc/rc.d/init.d/network restart 重启network

网络接口配置文件

/etc/sysconfig/network-scripts/ifconfg-*

DEVICE=eth0 网卡编号

ONBOOT=yes 开机时是否启动网卡。

BOOTPROTO=static 静态ip或者DHCP动态获取。

IPADDR=192.168.1.163 ip

NETMASK=255.255.255.0 掩码

GATEWAY=192.168.1.1 网关

以下为动态获取方式:

DEVICE=eth0

ONBOOT=yes

BOOTPROTO=dhcp

停止和启动指定的网络接口

单个网络接口的配置进行修改后

Ifdown 网络接口名称 停止某个网络接口。

Ifup 网络接口名称 开启某个网络接口。

注:单个网络接口的配置文件进行修改后,不必每次都从新启动network服务使配置文件生效,可用以上命令。

扩展:对网络接口操作:

# ifconfig eth0 down 停止eth0接口

# ifconfig eth0 up 开启eth0接口

可以连续使用

Ifdown eth0 ; ifup eth0

主机名称配置文件

/etc/sysconfig/network

例:# vi /etc/sysconfig/network 使用vi编辑器打开主机名配置文件。

NETWORKING=yes 网络是否可用。

HOSTNAME=xxxx xxxx为新设置的主机名。

本地主机名称解析文件

/etc/hosts

Hosts 和 DNS具有类似的主机名称解析功能

域名服务器配置文件

/etc/resolv.conf

最多可以设置3行,前面的生效。

Linux网络相关配置

这里说的网络配置主要是centos环境

centOS系统,在/etc/sysconfig/network-scripts目录下找到当前机器的端口文件,文件名通常是ifcfg-网络连接名。

vim 打开编辑,添加修改分配模式,IP地址,掩码,DNS等内容,完整的示例如下:

修改完成后,执行systemctl restart network重启网卡生效。

Ubuntu20配置值静态ip,需要修改/etc/netplan下面找到一个yaml文件,文件名带network的,1-network-manager-all.yaml,这里给出一个配置示例:

(这里用ifconfig或者ip addr命令先看一下自己的网卡编号,我的编号是enpls0)

修改完成后,输入命令:sudo netplan apply使得配置生效

配置完成后ping一下其他机器或者外网网址看一下网络是否通了,配置还是没生效可以尝试重启机器(重启不影响的情况下)。

查看端口信息

netstat -tunlp |grep 端口号 查看指定的端口号的进程情况,如查看8000端口的情况,netstat -tunlp |grep 8000

nmap 127.0.0.1 查看本机开放的端口,会扫描所有端口。

lsof -i:端口号查看端口所在进程-9

启动防火墙

systemctl start firewalld

禁用防火墙

systemctl stop firewalld

设置/禁止开机启动

systemctl enable/disable firewalld

重启防火墙

firewall-cmd --reload

查看状态

systemctl status firewalld / firewalld-cmd --state

查看版本

firewall-cmd --version

查看帮助

firewall-cmd --help

查看区域信息

firewall-cmd --get-active-zones

查看指定接口所属区域信息

firewall-cmd --get-zone-of-interface=eth0

拒绝所有包

firewall-cmd --panic-on

取消拒绝状态

firewall-cmd --panic-off

查看是否拒绝

firewall-cmd --query-panicpor

将接口添加到区域(默认接口都在public)

firewall-cmd --zone=public --add-interface=eth0(永久生效再加上 --permanent 然后reload防火墙)

设置默认接口区域

firewall-cmd --set-default-zone=public(立即生效,无需重启)

更新防火墙规则

firewall-cmd --reload或firewall-cmd --complete-reload(两者的区别就是第一个无需断开连接,就是firewalld特性之一动态添加规则,第二个需要断开连接,类似重启服务)

查看指定区域所有打开的端口

firewall-cmd --list-port

firewall-cmd --zone=public --list-ports

在指定区域打开端口(打开后需要重启防火墙生效)

firewall-cmd --zone=public --add-port=80/tcp(永久生效再加上 --permanent)

参考网址:

Linux实验报告 第八章

linux实验报告

第八章?

帮助命令

? 内建命令????? 通常在 Linux 系统加载运行时 shell 就被加载并驻留在系统内存中 解析内部命令shell不需要创建子进程,执行命令速度比外部快

外部命令? ? ? ? Linux 系统中的实用程序部分? 在系统加载时并不随系统一起被加载到内存中,而是在需要时才将其调用内存

一个是天生自带的天赋技能,一个是后天得来附加技能。我们可以使用 type 命令来区分命令是内建的还是外部的

帮助命令的使用

1,help命令?

若环境中没有help命令,可以进入bash中内置该命令

若实验环境是 zsh,而 zsh 中内置并没有 help 命令,我们可以进入 bash 中,在 bash 中内置有该命令

使用? help ls????????

help 命令是用于显示 shell 内建命令的简要帮助信息

help 命令只能用于显示内建命令的帮助信息

外部命令的话基本上都有一个参数--help

2,man 命令

man 没有内建与外部命令的区分,因为 man 工具是显示系统手册页中的内容

3,info命令

如果man现实的信息都还不够,可以使用info

(责任编辑:IT教学网)

更多

推荐鼠标代码文章