网络服务是在网络上运行的,面向软件的软件模块,这里我们一定要清楚原理。
1.网络服务的标准:HTTP,ftp,telnet,smtp等等
2.举例:
LAMP搭建
特点
方法
文件系统 | 防火墙 | 数据库 | 网卡名 | 网卡配置命令 |
---|---|---|---|---|
ext4/xfs | iptables/firewall+iptables 虽然有firewall但是主要还是使用iptables,因为这个已经很成熟 | mysql/mariadb(可能是因为MySQL被收购了,Linux怕它以后不开源,所以使用maraidb) | eth0/ens33 | ifconfig+setup(图形化)/ip(ip address show)+nmtui (图形化) |
ftp | 20/21 | 文件共享服务(使用QQ等进行文件共享,不能指定权限,使用企业一般使用ftp)21是长期监听的端口,主要用途是等用户来进行连接它,不用于进行数据的传输,20端口当确定要传输数据时进行开放) |
dns | 53 | 域名解析服务 |
ssh | 22 | 远程连接服务 |
www(http) | 80 | 网页访问服务 |
www(https) | 443 | 加密的网页访问,如银行相关的网页,有些网站有登录操作,让账号密码更安全 |
mysql | 3306 | 数据库连接端口 |
补充:
当我们忘记某个端口号的时候可以查看/etc/service文件
[root@localhost ~]# route del default gw 10.10.31.2
[root@localhost ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
10.10.31.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0
[root@localhost ~]# route add default gw 10.10.31.2
[root@localhost ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
10.10.31.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0
0.0.0.0 10.10.31.2 0.0.0.0 UG 0 0 0 eth0
永久配置
主机名
主机名方面可以参考此文章
-c 指定Ping多少次
-i 指定ping多长时间
-sP:探测某网段有哪些主机正常工作
-sT:探测某主机上开启了哪些tcp端口
```
[root@localhost ~]# nmap -sP 10.10.31.0/24
```
输出信息:此网段7台主机正常工作
Starting Nmap 5.51 ( http://nmap.org ) at 2019-09-29 08:46 CST
Nmap scan report for 10.10.31.1
Host is up (0.00032s latency).
MAC Address: 00:50:56:C0:00:08 (VMware)
Nmap scan report for 10.10.31.2
Host is up (0.00025s latency).
MAC Address: 00:50:56:FE:08:58 (VMware)
Nmap scan report for 10.10.31.10
Host is up.
Nmap scan report for 10.10.31.29
Host is up (0.00029s latency).
MAC Address: 00:0C:29:2F:76:21 (VMware)
Nmap scan report for 10.10.31.31
Host is up (0.00054s latency).
MAC Address: 00:0C:29:E8:EF:47 (VMware)
Nmap scan report for 10.10.31.32
Host is up (0.00031s latency).
MAC Address: 00:0C:29:2A:C4:D5 (VMware)
Nmap scan report for 10.10.31.200
Host is up (0.00073s latency).
MAC Address: 00:0C:29:7E:85:49 (VMware)
Nmap done: 256 IP addresses (7 hosts up) scanned in 9.48 seconds
查看10.10.31.200开放的tcp端口
[root@localhost ~]# nmap -sT 10.10.31.200
Starting Nmap 5.51 ( http://nmap.org ) at 2019-09-29 08:49 CST
Nmap scan report for 10.10.31.200
Host is up (0.0021s latency).
Not shown: 998 closed ports
PORT STATE SERVICE
22/tcp open ssh
111/tcp open rpcbind
MAC Address: 00:0C:29:7E:85:49 (VMware)
Nmap done: 1 IP address (1 host up) scanned in 0.19 seconds
-a 查看所有
-d 删除某条arp记录
[root@localhost ~]# arp -a
? (10.10.31.1) at 00:50:56:c0:00:08 [ether] on eth0
? (10.10.31.2) at 00:50:56:fe:08:58 [ether] on eth0
? (10.10.31.200) at 00:0c:29:7e:85:49 [ether] on eth0```
可见有三个记录
[root@localhost ~]# ping 10.10.31.32
PING 10.10.31.32 (10.10.31.32) 56(84) bytes of data.
64 bytes from 10.10.31.32: icmp_seq=1 ttl=64 time=2.62 ms
64 bytes from 10.10.31.32: icmp_seq=2 ttl=64 time=0.296 ms
^C
--- 10.10.31.32 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1437ms
rtt min/avg/max/mdev = 0.296/1.460/2.625/1.165 ms
[root@localhost ~]# arp -a
? (10.10.31.1) at 00:50:56:c0:00:08 [ether] on eth0
? (10.10.31.32) at 00:0c:29:2a:c4:d5 [ether] on eth0
? (10.10.31.2) at 00:50:56:fe:08:58 [ether] on eth0
? (10.10.31.200) at 00:0c:29:7e:85:49 [ether] on eth0
[root@localhost ~]#
ping一下再查看,发现多了一条记录
dns配置,
通过netstat看开了哪些端口,从而判断开了哪些服务。
-a 列出所有活动连接
-l 仅仅列出在监听状态的网络服务
-t 列出tcp协议监听端口
-u 列出udp协议监听的端口
-p 显示pid和进程号
可以用于排查故障,但是很多设备禁止ping,所以这个命令现在作用不大。该命令使用NAT模式无法实现效果,请使用桥接模式(官方)
下图可见只能看到网关,外网信息看不到
ssh是Secure Shell工作在应用层的远程管理ssh 。是目前较为可靠的传输协议,它专为远程登录会话和其他网络服务提供安全性。利用 ssh 协议可以有效防止远程管理过程中的信息泄露问题。它默认使用22端口,采用密文的形式在网络中传输数据,相对于通过明文传输的Telnet协议,具有更高的安全性。
账户密码登录认证过程中传输的是用户的账户名和密码,密码具有足够的复杂度才能具有更高的安全性。
登陆详解:
格式:
ssh 用户名@IP地址
ssh [email protected]
Tomcat 服务器是一个免费的开放源代码的 Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试 JSP 程序的首选。Tomcat是apache服务器的扩展,但运行时它是独立运行的,所以当你运行 tomcat 时,它实际上作为一个与 Apache 独立的进程单独运行的。
wget --no-check-certificate https://download.oracle.com/otn/java/jdk/8u231-b11/5b13a193868b4bf28bcb45c792fce896/server-jre-8u231-linux-x64.tar.gz
这里发现报了401错误,意思是页面需要登录,所以我这里先进去浏览器登录,下载到Windows,然后使用WinSCP传到Linux。输入IP,账号密码后登录成功。
2.找到下载的压缩包,传给Linux,传输成功
3.在Linux上面进行解压缩
tar -xf server-jre-8u231-linux-x64.tar.gz
[root@suzijian ~]# ls
anaconda-ks.cfg install.log install.log.syslog jdk1.8.0_231 server-jre-8u231-linux-x64.tar.gz
成功。
4.mv 解压缩目录 /usr/local/jdk1.8
[root@suzijian ~]# mv jdk1.8.0_231/ /usr/local/jdk1.8
4.安装gcc编译器
yum -y install gcc
5.设置环境变量,vim /etc/profile
export JAVA_HOME=/usr/local/jdk1.8
export JAVA_BIN=/usr/local/jdk1.8/bin
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
6.运行
source /etc/profile
7.检测 java运行环境是否安装成功
[root@suzijian ~]# java -version
java version "1.6.0_20"
OpenJDK Runtime Environment (IcedTea6 1.9.7) (rhel-1.39.1.9.7.el6-x86_64)
OpenJDK 64-Bit Server VM (build 19.0-b09, mixed mode)
tar -xf apache-tomcat-8.5.47.tar.gz
查看
[root@suzijian ~]# ls
anaconda-ks.cfg apache-tomcat-8.5.47.tar.gz install.log.syslog
apache-tomcat-8.5.47 install.log server-jre-8u231-linux-x64.tar.gz
复制到特定目录下面
[root@suzijian ~]# cp -a apache-tomcat-8.5.47 /usr/local/tomcat
export TOMCAT_HOME=/usr/local/tomcat
export PATH=$PATH:$TOMCAT_HOME/bin
[root@suzijian ~]# chmod +x /usr/local/tomcat/bin/
[root@suzijian ~]# /usr/local/tomcat/bin/catalina.sh start
Using CATALINA_BASE: /usr/local/tomcat
Using CATALINA_HOME: /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME: /usr/local/jdk1.8
Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.
[root@suzijian ~]# netstat -antp
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 5512/sshd
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 1333/cupsd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1543/master
tcp 0 0 0.0.0.0:46633 0.0.0.0:* LISTEN 1279/rpc.statd
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 1220/rpcbind
tcp 0 0 10.10.31.10:33310 111.14.222.121:80 TIME_WAIT -
tcp 0 0 10.10.31.10:22 10.10.31.1:52225 ESTABLISHED 6111/sshd: root@not
tcp 0 212 10.10.31.10:22 10.10.31.1:51831 ESTABLISHED 6065/1
tcp 0 0 :::22 :::* LISTEN 5512/sshd
tcp 0 0 ::1:631 :::* LISTEN 1333/cupsd
tcp 0 0 ::1:25 :::* LISTEN 1543/master
tcp 0 0 :::35460 :::* LISTEN 1279/rpc.statd
tcp 0 0 ::ffff:127.0.0.1:8005 :::* LISTEN 6265/java
tcp 0 0 :::8009 :::* LISTEN 6265/java
tcp 0 0 :::111 :::* LISTEN 1220/rpcbind
tcp 0 0 :::80 :::* LISTEN 6437/httpd
tcp 0 0 :::8080 :::* LISTEN 6265/java
6.可见已经成功
7.使用浏览器试试(发现不行)检查防火墙
[root@suzijian ~]# gentenforce
-bash: gentenforce: command not found
[root@suzijian ~]# getenforce
Enforcing
[root@suzijian ~]# setenforce 0
[root@suzijian ~]# getenforce
Permissive
[root@suzijian ~]# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT icmp -- anywhere anywhere
ACCEPT all -- anywhere anywhere
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:ssh
REJECT all -- anywhere anywhere reject-with icmp-host-prohibited
Chain FORWARD (policy ACCEPT)
target prot opt source destination
REJECT all -- anywhere anywhere reject-with icmp-host-prohibited
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
[root@suzijian ~]# iptables -F
vsftpd虚拟用户模式
未完待续