IP端口-协议等基本概念
互联网上的计算机,都会有一个唯一的32位的地址,IP地址。
我们访问服务器。就必须通过这个IP地址。
局域网也有预留的IP地址 192/10/172开头。局域网的 IP地址也是唯一的。
NAT模式,电脑属主机的IP在局域网是唯一的 ,选择了NAT模式创建虚拟机,虚拟机就是一个新的局域网(私有网络)。
老师的机器IP 192.168.33.128
端口的简单概念
192.168.33.128代表一台主机,但是主机上可能会有很多服务。
一台主机上的不同服务功能,就是通过端口区分,然后让外部人员访问。
远程连接服务 ssh 22端口
协议
汉语,英语,法语,不同的服务提供了不同的端口,对应了不同的功能,通信方式可能也是不同的,这种通信方式我们就可以理解为协议。
一台主机上的不同服务功能,就是通过端口区分,不同的服务端口,客户端和服务器之间的通信,就可能使用不同的协议。
IP,port(端口),protocol(协议)
SSH通信示意图
远程连接服务。
排查故障:
1、两个机器之间是否通畅,看物理网络(网线网卡,IP是不是在正确)
ifconfig(查看IP)
ping ip 来检查物理网络是否通畅。(win系统)
不通:
1、客户端到服务器端物理链路有问题。
网卡,IP,网线,防火墙。
2、服务是否好的
SSH服务是否好的。
检测办法:从哪个机器连就在那个机器操作
telnet IP 22 (服务器的IP和端口(port))在命令行输入
telnet也可以远程连接,因为不是加密的。很少人用了。
不通可能原因:
1、服务器的防火墙阻挡了,
重启(SSH服务)iptables:
/etc/init.d/iptables restart
2、端口没开放,服务器端没有监听你连接的端口。
[root@oldboy ~]# netstat -lntup|grep 22 (以SSH服务22端口为例)
[root@oldboy ~]# netstat -lntup|grep sshd
客户端工具
Securcrt,Xshell,putty
服务端SSH服务:进程名sshd,openssh(连接用的),openssl(加密用的).
总结:
第一步:物理链路是否有问题,比喻为(高速路是否修通?)客户端操作。
ping ip地址 :
排查客户端到服务端线路问题,pings 常用的网络连接性检查工具(路通否)
tracert -d IP地址:
路由跟踪命令,也可以检查路是否通畅,-d 是不进行反向解析。
第二部:SSH服务是否有问题,比喻为 旅游景点是否开放? 客户端操作。
telnet IP地址 22 判断SSH服务器默认的22端口打开了?(客户端操作)
1、看端口是否打开,
2、看端口是否改变了。
3、看防火墙等问题。
nmap IP地址 -p 22:
也能达到和telnet相同效果,但nmap仅在linux中使用。
第三部:是不是防火墙阻挡,即是不是下雪封路,高速路阻碍通行了。(服务端查看)
/etc/init.d/iptables stop
Linux防火墙iptables ,可能好心办坏事,阻挡了远程连接,学习环境建议关掉防火墙,生产按需要开启。
本章知识相关考题
1)企业场景面试题:Linux系统如何让优化
2)企业场景面试题:SSH服务连不上,如何排查?
3)企业场景面试题:32位和64位系统的区别?
4)企业面试题:Linux的7种运行级别和对应作用。
5)企业面试题:掌握Linux系统从开机到登陆前的启动流程
Linux主机的文件传输。
下面来看一下有关上传下载的命令说明。
1)rz、sz命令的安装方法
第一种方法:安装系统时选包含rz、sz命令的包组。Dlal-up Networking Support.
第二种方法:安装系统后通过执行yum install lrzsz -y 或 yum groyupinstall"Dial-up Networking Support" -y 命令来安装。
2)上传内容时,执行rz命令,如果希望覆盖服务器上的同名内容上传,可加-y参数,输入rz-y 命令后直接回车,会打开一个上传文件的窗口,然后选择我们想上传的文件进行上传,在这个上传的窗口内选择文件是客户端电脑本地要上传到Linux的文件。
3)下载命令 sz
下载内容时,执行命令“sz filename”,如果希望覆盖本地的同名内容下载,则可输入“sz -y filename”命令,sz -y命令后面的filename为命令行Linux主机当前目录下的文件,
例如:sz oldboy.olg。使用sz或”sz -y 文件名“命令从服务器上下载文件时,默认的客户端下载路径就是在CRT里设置的下载路径地址
4)使用rz sz 命令的注意事项
1、只能上传下载文件而不是目录,如果是目录需要打包成文件再传输。(zip)
2、上传的文件可以是电脑里的任意文件,下载的文件会下载到SecureCRT配置到对应下载路径目录中。
3、执行rz命令回车后出现的窗口最下面,一定不要勾选“以ASXII“方式上传文件,否则会遇到问题。
5)其他工具
除了rz、sz等传输文件命令外,还可以用ftp、sftp、(SSH服务)、winscp等工具来传输文件。
批量执行命令演示图
提示:
1、如果要批量部署或执行任务到服务器为数十台,就可以利用SecureCRT的这个小功能,非常不错,简单易用,可以替代一些大型的批量部署软件,如果是大规模服务器数量,则可以用saltstack等批量管理工具。
2、特别需要注意的是,上述批量管理操作,不能使用交互的命令,例如:vi/vim rz等。但可以变通使用,
例如:vi/vim命令可以用echo,cat,sed替代。
Linux系统应用管理
1、一般情况下,在企业生产环境中应尽量避免直接到root用户下操作,除非有超越普通用户权限的系统维护需求。
使用完后立刻退回到普通用户
安装Linux系统后调优及安全设置
关闭SELinux功能
1)修改配置文件,使关闭SELinux永久生效:
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
<==修改配置文件可使配置永久生效,但必须要重启系统,此步是sed快速修改方法,也可以通过vi编辑修改此文件。
grep SELINUX=disabled /etc/selinux/config
SELINUX=disabled <==检查替换结果为disabled就表示编辑成功了
2)临时关闭SELinux,可在命令行执行如下命令:
setenforce
usage: setenforce [ Enforcing | Permissive | 1 | 0 ]←数字0表示Permissive,即给出警告提示,但不会阻止操作,相当于disabled。数字1表示Enforcing,即表示SELinux为开启状态。
[root@@www ~]# setenforce 0 <==临时将SELinux调成Permissive状态。
[root@@www ~]# getenforce <==查看SELinux当前状态
Permissive
命令说明如下。
·setenforce:用于命令行管理SELinux的级别,后面的数字表示设置对应的级别。
·getenforce:查看SELinux当前的级别状态。
[插图]提示:修改配置SELinux后,要想使其生效,必须要重启系统。因此,可配合使用setenforce 0这个临时使其关闭的命令,这样在重启前后都可以使SELinux关闭生效,也就是说无须立刻重启服务器了,在生产场景下Linux机器是不能随意重启的。
3.4.2 设定运行级别3(文本模式)
linux的7种运行级别
Default runlevel. The runlevels used are:
0 - halt (Do NOT set initdefault to this) (关机状态)
1 - Single user mode (维护状态)
2 - Multiuser, without NFS (The same as 3, if you do not have networking)(限单用户使用)
3 - Full multiuser mode(命令行模式)
4 - unused(保留)
5 - X11(桌面模式)
6 - reboot (Do NOT set initdefault to this)(重启模式)
Linux系统有7个运行级别(runlevel)
运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动
运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登陆
运行级别2:多用户状态(没有NFS)
运行级别3:完全的多用户状态(有NFS),登陆后进入控制台命令行模式
运行级别4:系统未使用,保留
运行级别5:X11控制台,登陆后进入图形GUI模式
运行级别6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动
命令说明:
使用 runlevel 查看当前运行级别
使用 init (带运行级别数字即可切换运行级别)
例如:init 6 就是重启Linux服务器了。
课外作业:
掌握Linux7种运行级别。
掌握Linux系统从开机到登陆前的启动流程。
解答:
⑴开机BIOS自检,加载硬盘。
⑵读取MBR,MBR引导。
⑶grub引导菜单(Boot Loader)。
⑷加载内核kernel。
⑸启动init进程,依据inittab文件设定运行级别
⑹init进程,执行rc.sysinit文件。
⑺启动内核模块,执行不同级别的脚本程序。
⑻执行/etc/rc.d/rc.local
⑼启动mingetty,进入系统登陆界面。
匿名者
关闭防火墙
临时关闭防火墙命令:
/etc/init.d/iptables stop
查看防火墙状态命令
/etc/init.d/iptables status
永久关闭防火墙:
chkconfig iptables off
修改字符集
先备份
cp /etc/sysconfig/i18n /etc/sysconfig/i18n.ori
再替换
echo 'LANG="zh_GN.UTF-8"'>/etc/sysconfig/i18n
相当于用vi /etc/sysconfig/i18n 里添加LANG="zh_CN.UTF-8"内容。
使上文修改生效:
-source /etc/sysconfig/i18n
再查看修改后的内容
cat /etc/sysconfig/i18n 或echo $LANG
3.4.10历史记录数及登录超时环境变量设置
1、设置闲置账号超时时间
设置闲置账号的示例命令如下,注意此处的配置仅临时生效。
export TMOUT=10
十秒不操作就退出。
2、设置Linux的命令行历史记录数据
linux特殊变量:
export HISTSIZE=5
(命令行历史记录数量)
history (显示历史记录)
-d (删除指定历史记录)
-c (删除当前历史记录)
设定用户的命令历史记录文件(~/.bash_history)记录指定命令数量的示例命令如下,注意此处的配置仅临时生效。
export HISTFILESIZE=5
命令行命令对应文件的记录数 ~/,bash_history
cat ~/.bash_history
手动同步互联网时间到本地Linux主机
/usr/sbin/ntpdate time.nist.gov
linux 特殊变量:
临时生效
export HISTSIZE=5 (5个)
(命令行历史记录数量)
export HISTFILESIZE=5 (5个)
(命令行命令对应文件的记录数~/.bash_history)
export TMOUNT=10 (10秒)
(连接的超时时间控制变量)
-
把上述命令放入配置文件,使永久生效。
echo 'export TMOUT=300' >>/etc/porfile
echo 'export HISTSIZE=5' >>/etc/porfile
echo 'export HISTFILESTZE=5' >>/etc/profile
tail -3 /etc/profile
source /etc/profile (使得配置文件生效)
隐藏Linux版本信息显示
在登录到Linux主机本地(非CRT连接的窗口)前,会显示系统的版本和内核,
登录后执行如下命令到达上述登录Linux前的终端内容显示的实际存放文件。
[root@oldboy ~]# cat /etc/issue
CentOS release 6.8 (Final)
Kernel \r on an \m
[root@oldboy ~]# cat /etc/issue.net
CentOS release 6.8 (Final)
Kernel \r on an \m
> /etc/issue
> /etc/issue.net
(删除内核系统版本信息等)
因为这个让有心之人看到不安全。
快照
比喻:假设把你的人生做了一个快照
1岁
2岁
10岁
16岁
18岁
- root密码重置、Linux目录结构和远程连接Linux
一.root如何重置密码 1. 重启 Linux 系统主机并出现引导界面时,按下键盘上的 e 键进入内核编辑界面 2. 在 linux16 参数这行的最后面追加“rd.break”参数,然后按下 Ct ...
- Windows远程连接Linux
目录 xrdp方式 vnc方式 xrdp方式 ----------------------------------------------------------------------------- ...
- windows远程连接Linux(Ubuntu)的方法
需要做的工作: 1.在Linux(Ubuntu)端安装.设置好SSH 2.下载putty,并通过putty的SSH连接登录Linux 一 .如何在Linux(Ubuntu)端安装.设置好SSH,获取I ...
- 记一次VNC远程连接Linux问题解决记录(5900端口测试、KDE桌面安装)
最近几天,到一个项目上安装Linux部署环境.由于服务器在机房,而进机房又比较麻烦,于是选择VNC远程连接Linux就显得自然而然了.以前也用过VNC,而且还经常使用,由于各个项目环境不太一样,这次也 ...
- window远程连接linux
一.字符界面连接Linux 1.直接使用window自带的telnet. 2.但现在Linux一般都不启用telnet,而是启用ssh.这样的话,window就要安装客户端来访问Linux了.这 ...
- windows下使用vnc viewer远程连接Linux桌面(转)
在windows下使用vnc viewer远程连接Linux桌面,主要配置步骤: Linux: 1.rpm -qa vnc //查看是否安装vnc服务,如果没有安装,可以使用yum,或者rpm进行安装 ...
- 虚拟机VMware网络类型&&SSH远程连接Linux
前言: Linux专题是16年11月开始写,说来惭愧,已经5个月没学Linux,至今感觉连入门还没达到.暑假实习有投运维开发岗位,无奈对Linux不熟悉,校招简历也被刷了.so, 我打算先花1个月内的 ...
- Sublime 远程连接 Linux服务器
Sublime是一款强大的编辑器,它的强大体现在它强大的插件. 要实现Sublime 远程连接 Linux服务器,需要使用插件SFTP. 一. 插件安装 用Package Control安装插件按下C ...
- Android源码浅析(六)——SecureCRT远程连接Linux,配置端点和字节码
Android源码浅析(六)--SecureCRT远程连接Linux,配置端点和字节码 需要编译源码的同学,一般都是win+虚拟机吧,但是再虚拟机里体验并不是很好,所有市面上有很多的软件能够做到在wi ...
随机推荐
- BZOJ 4619 Swap Space 解题报告
今天是因为David Lee正好讲这个题的类似题,我才做了一下. 本题是world final 2016的一道水…… 题目地址如下 http://www.lydsy.com/JudgeOnline/p ...
- Java经典实例:纪元秒和本地日期时间互换
Java版本:1.8开始 import java.time.Instant; import java.time.ZoneId; import java.time.ZonedDateTime; /** ...
- 十大Intellij IDEA快捷键
转载:http://blog.csdn.net/dc_726/article/details/42784275 Intellij IDEA中有很多快捷键让人爱不释手,stackoverflow上也有一 ...
- GJM : Lua 语言学习笔记
Lua笔记 容易与C/C++整合 Lua所提供的机制是C所不善于的:高级语言,动态结构,简洁,易于测试和调试. Lua特有的特征: `1:可扩展性.卓越的扩展性导致了很多人将Lua用作搭建领域语言的工 ...
- rabbitmq心跳机制与配置
最近,我们有些在阿里云上的应用总是有客户端出现异常和信息推送不及时的情况,检查mq日志,发现高峰期不停的有心跳超时,如下: =ERROR REPORT==== 21-Dec-2016::12:38:0 ...
- mysql autocommit=OFF导致wordpress 建立数据库连接时出错
今天安装wordpress完成后跳转到login页面时,出现建立数据库连接时出错.网上清一色的拷贝http://mt.sohu.com/20160917/n468547634.shtml的答案. 只能 ...
- easyui textarea回车导致datagrid 数据无法展示的问题
textarea换行 在easyui中的datagrid中使用行内编辑时textarea的换行保存到mysql数据库为\n在textarea中输入回车符 在js读取textarea中的值有\r\n然后 ...
- knockout源码分析之执行过程
一.执行流程 二.主要类分析 2.1. 在applyBindings中,创建bindingContext,然后执行applyBindingsToNodeAndDescendantsInternal方法 ...
- input输入样式,动画
模板描述:input输入样式 动画,有输入框也有搜索框的样式,多种多样,大家根据自己的喜欢来. 找网站SEO教程,网站模板,以及想要建立个人博客的朋友来涂志海个人博客网,这里有你想要的一切(万一没有的 ...
- JSON 转javabean 利器
别再对着json来手写javabean啦.这个工作完全不要脑子,而且耗时. 这里给大家提供三种方式: android studio版: 万能的插件:GsonFormat 如何安装? Preferenc ...