网络基础知识

<1>一台主机如果可以连接公网,比如访问www.baidu.com,那么这台主机必然会有:

IPADDR,GATEWAY,DNS

网关:路由器上和自己同一网段的地址

 

0/255是不能用的ip1254是可用的ip地址

一般0网段255广播地址

<2>ipaddress:

tcp/ip采用四层协议;网络协议采用七层协议

ipv4:2进制32

egIPADDR=254.254.254.254<==>11111110.11111110.11111110.11111110

GATEWAY=255.255.255.255<==>11111111.11111111.11111111.11111111

 

【更改ip的方式】

<1>临时修改

# ifconfig###查看或临时设定主机ip的工具

# ifconfig 网络接口###查看这个接口上的ip

# ifconfig 网络接口 ip netmask 子网掩码###临时设定ip

egifconfig eth0 172.25.0.140 netmask 255.255.0.0

# systemctl restart NetworkManager###网络智能管理服务

# systemctl restart network###重新启动网络基本服务

 

<2>图形网络配置方式

# nm-connection-editor###图形中的网络设定工具

# nmtui###文本中的网络设定工具

 

<3>命令设定ip方式

# nmcli connection show###查看是否有ip

# nmcli connection delete 连接名称###删除此连接

# nmcli connection add con-name westos ifname eth0 type ethernet autoconnect yes ###添加动态网络

# nmcli connection add con-name westos ifname eth0 type ethernet ip4 ip/24 ###静态网络

# nmcli device show###查看设备名称

# nmcli device status###查看设备状态

# nmcli device disconnect eth0

# nmcli device connect eth0

# nmcli connection edit "System westos1" ...

# nmcli connection modify "System westos1"  ipv4.addresses 172.25.254.140/24

# nmcli connection modify "System westos1"  ipv4.dns 172.25.254.254

# nmcli connection modify  "System westos1" ipv4.method auto

# nmcli connection modify "System westos1" ipv4.method manual

# nmcli connection add con-name hello ifname eth0  type ethernet ip4 172.25.254.140/24 gw4 172.25.254.254

# nmcli connection modify eth0 ipv4.dns 172.25.254.254

 

<4>网络配置文件

# cd /etc/sysconfig/network-scripts/###网络配置目录

# vim /etc/sysconfig/network-scripts/ifcfg-eth0###网络配置文件格式

DEVICE=eth0###指定文件管理的设备名称

BOOTPROTO=dhcp | none | static###dhcp动态获取,nonestatic表示静态网络

ONBOOT=yes###开机自动激活设备

NAME=hello###指定链接名字

IPADDR=172.25.254.140###设定ip172.25.254.140

NERMASK=255.255.255.0|PREFIX=24###子网掩码为255.255.255.0

GATEWAY=172.25.254.254###网关为路由器上和我们的主机处在同一网段上的ip

DNS1=172.25.254.250   ##在域名解析文件/etc/resolv.conf中最多可定义4DNS,在文件/usr/share/doc/initscripts-9.49.17/sysconfig.txt中查看相关信息的解释

eg

# vim ip.sh

  1 mv $(grep DEVICE=eth0 -r /etc/sysconfig/network-scripts/ | cut  -d : -f 1) /mnt   //$()相当于反向单引号在shell中的作用;将文件/etc/sysconfig/network-scripts/ifcfg-eth0移到/mnt

  2 cat > /etc/sysconfig/network-scripts/ifcfg-eth0 <<dou

  3 DEVICE=eth0

  4 BOOTPROTO=none

  5 ONBOOT=yes

  6 TYPE=Ethernet

  7 IPADDR=$*

  8 PREFIX=24

  9 GATEWAY=172.25.254.254

 10 dou

 11 systemctl restart network

# vim /etc/sysconfig/network-scripts/ifcfg-eth0

DNS1=172.25.254.254

PEERDNS=no|yes###配置文件是否会修改/etc/resolv.conf,no表示不修改

 

# cd /usr/share/doc/initscripts-9.49.17/

# ls

changes.ipv6  ipv6-6to4.howto    static-routes-ipv6  sysvinitfiles

COPYING       ipv6-tunnel.howto  sysconfig.txt

# less sysconfig.txt###可以查看相关参数,如:PEERDNS

【域名解析】

1.ip映射文件

# vim /etc/hosts  ###是配置ip地址和其对应主机名的文件,这里可以记录本机的或其他主机的ip及其对应主机名;这个文件告诉本主机哪些ip对应哪些主机名;将主机名映射到相应的IP地址;通常用于补充或取代网络中DNS的功能。和DNS不同的是,计算机的用户可以直接对hosts文件进行控制。

  1 127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4

  2 ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

  3

  4 172.25.254.40 foundation40.ilt.example.com###ip主机名称

一般情况下hosts文件的每行为一个主机,每行由三部份组成,每个部份由空格隔开。其中#号开头的行做说明,不被系统解释。

 

第一部份:网络IP地址;

 

第二部份:主机名或域名;

 

第三部份:主机名别名;

 

当然每行也可以是两部份,即主机IP地址和主机名;

 

<可解决的问题>

远程登录linux主机过慢问题

    有时客户端想远程登录一台linux主机,但每次登录输入密码后都会等很长一段时间才会进入,这是因为linux主机在返回信息时需要解析ip,如果在linux主机的hosts文件事先加入客户端的ip地址,这时再从客户端远程登录linux就会变很快。注:这里所说的远程登录不仅仅是ssh,还可能是mysql远程登录,或是文件共享的查询等。

双机互连

    当两台主机只是双机互连时,这时两台主机都需要设置自己的ip,同时在对方的hosts文件里加入自己的ip和主机名。

 

2.dns服务器的指向文件

# vim /etc/resolv.conf   ###DNS客户端配置文件,设置DNS服务器的ip地址及DNS域名

search example.com  //表示当提供了一个不包括完全域名的主机名时,在主机名后添加example.com的后缀

nameserver 172.25.254.250  //表示解析域名时使用该地址指定的主机为域名服务器。域名服务器是按照文件中出现的顺序来查询的。

『设置/etc/hosts文件和/etc/resloves先后读取的文件』

# vim /etc/nsswitch.conf

# vim /etc/reslov.conf

# vim /etc/hosts

files在前:

 

dns在前: