【网络基础知识】
<1>一台主机如果可以连接公网,比如访问www.baidu.com,那么这台主机必然会有:
IPADDR,GATEWAY,DNS
网关:路由器上和自己同一网段的地址
0/255是不能用的ip,1~254是可用的ip地址
一般0是网段,255是广播地址
<2>ipaddress:
tcp/ip采用四层协议;网络协议采用七层协议
ipv4:2进制32位
eg:IPADDR=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
eg:ifconfig 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动态获取,none和static表示静态网络
ONBOOT=yes###开机自动激活设备
NAME=hello###指定链接名字
IPADDR=172.25.254.140###设定ip为172.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中最多可定义4个DNS,在文件/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在前: