Linux操作系统基础学习笔记(10)
前言
本期学习Linux网络管理
网络的基本概念,学过计算机网络的应该都能懂
网络配置文件中配置Linux的静态IP,方便使用XShell连接
查看及配置网络ifconfig和ip
连通性测试 ping和telnet
查看网络连接netstat(ss)
域名(nslookup、dig、host)
文件下载和传输(wget、scp、curl)
Linux防火墙设置
10、Linux网络管理
(1)网络的基本概念
(2)网络配置文件
在刚装好的CentOS中,默认的BOOTPROTO=“DHCP”要改为static
ONBBOOT要改为YES,表示在开机时激活网络
IPADDR设置为自己电脑网络在同一网段的地址
NETMASK设为255.255.255.0
GATEWAY是网关
DNS1是DNS服务器,可以是114.114.114.114(国内)或8.8.8.8(国外谷歌)
(3)查看及配置网络
ifconfig
全拼:network interfaces configuring
位于net-tools工具包
可以动态配置网络参数
用ifconfig修改的数据只是临时的,重启后会失效
ip命令
(4)连通性探测
使用这个命令要安装telnet
telnet可以直接访问网站,但是保密性差,明文传输
(5)查看网络连接
计算机跟计算机通信实际上就是我的计算机上面的端口号与另一台计算机上的端口号通信
ss | grep ssh
ss | grep 3306
(6)域名相关
1.nslookup
是一个用于查询 DNS (Domain Name System) 的命令行工具。它允许你查询域名的 IP 地址,或者反向查询 IP 地址的域名。当你在命令行中输入 nslookup
并按回车,你会进入交互模式。
a. 交互模式:
当你只输入 nslookup
并按回车,你会进入交互模式。你会看到类似这样的提示:
>
b. 在交互模式中,你可以直接输入你想查询的域名或 IP 地址。例如:
> www.google.com
这会返回 www.google.com 的 IP 地址。
c. 常用的查询类型:
- A 记录(IPv4 地址):默认查询类型
- AAAA 记录(IPv6 地址):使用
set type=aaaa
设置 - MX 记录(邮件交换器):使用
set type=mx
设置 - NS 记录(名称服务器):使用
set type=ns
设置
d. 更改 DNS 服务器:
你可以指定使用特定的 DNS 服务器进行查询。例如:
> server 8.8.8.8
这会将查询服务器更改为 Google 的公共 DNS 服务器。
e. 退出交互模式:
输入 exit
或按 Ctrl+C 可以退出 nslookup。
f. 非交互模式:
你也可以直接在命令行中使用 nslookup,例如:
nslookup www.google.com
g. 反向查询:
要进行反向 DNS 查询(从 IP 地址查询域名),只需输入 IP 地址:
> 8.8.8.8
2.dig
(Domain Information Groper) 是另一个强大的 DNS 查询工具,通常被认为比 nslookup
更强大和灵活。
a. 基本用法:
dig example.com
这会查询 example.com 的 A 记录。
b. 查询特定记录类型:
dig example.com MX
dig example.com NS
dig example.com AAAA
分别查询 MX(邮件交换器)、NS(名称服务器)和 AAAA(IPv6地址)记录。
c. 使用特定的 DNS 服务器:
dig @8.8.8.8 example.com
使用 Google 的 DNS 服务器(8.8.8.8)查询。
d. 反向查询:
dig -x 8.8.8.8
查询 IP 地址对应的域名。
e. 短输出格式:
dig example.com +short
只显示查询结果,不显示其他详细信息。
f. 跟踪 DNS 查询过程:
dig example.com +trace
显示从根域名服务器到最终权威服务器的整个查询过程。
g. 查询 DNSSEC 信息:
dig example.com DNSKEY
查询域名的 DNSSEC 密钥。
h. 控制输出部分:
dig example.com +noall +answer
只显示答案部分,不显示其他信息。
i. 批量查询:
dig example.com example.org
一次查询多个域名。
j. 查询 ANY 记录(所有类型):
```
dig example.com ANY
```
注意:许多 DNS 服务器现在默认禁用 ANY 查询。
dig
的输出通常包括以下几个部分:
- 查询的详细信息(QUESTION SECTION)
- 答案(ANSWER SECTION)
- 权威名称服务器(AUTHORITY SECTION)
- 额外信息(ADDITIONAL SECTION)
- 查询统计(如查询时间、服务器 IP 等)
3.host
命令是另一个用于 DNS 查询的简单工具。它比 dig
更简洁,比 nslookup
更直观。以下是关于 host
命令的详细解释:
a. 基本用法:
host example.com
这会查询 example.com 的 A 记录(IPv4 地址)和 AAAA 记录(IPv6 地址,如果有)。
b. 查询特定记录类型:
host -t MX example.com # 查询邮件交换器记录
host -t NS example.com # 查询名称服务器记录
host -t TXT example.com # 查询文本记录
c. 反向 DNS 查询:
host 8.8.8.8
查询 IP 地址对应的域名。
d. 使用特定的 DNS 服务器:
host example.com 8.8.8.8
使用 Google 的 DNS 服务器(8.8.8.8)进行查询。
e. 详细输出:
host -v example.com
显示更详细的输出信息。
f. 查询所有记录:
host -a example.com
显示所有可用的记录类型(类似于 dig 的 ANY 查询)。
g. 禁用递归查询:
host -r example.com
只从权威服务器获取信息。
h. 设置查询超时:
host -W 2 example.com
设置 2 秒的查询超时时间。
i. 显示 SOA 记录:
host -C example.com
显示 Start of Authority 记录。
host
命令的优点:
- 输出简洁明了,易于阅读
- 默认情况下会自动查询常见的记录类型(A, AAAA, MX)
- 适合快速检查和简单的 DNS 查询
host
命令的输出通常包括:
- 查询的域名
- 对应的 IP 地址(A 和/或 AAAA 记录)
- 邮件交换器信息(如果有 MX 记录)
- 其他请求的记录类型(如果指定)
(7)文件下载和传输
1.wget
-O 可以将下载的文件重命名
2.scp
SCP(Secure Copy Protocol)是一个基于SSH协议的文件传输工具,用于在本地主机和远程主机之间或者两个远程主机之间安全地传输文件。
基本语法:
scp [选项] 源文件 目标文件
常见用法:
-
从本地复制到远程:
scp /path/to/local/file username@remote_host:/path/to/remote/directory
-
从远程复制到本地:
scp username@remote_host:/path/to/remote/file /path/to/local/directory
-
复制目录:
scp -r /path/to/local/directory username@remote_host:/path/to/remote/directory
-
在两个远程主机之间复制:
scp username1@host1:/path/to/file username2@host2:/path/to/destination
常用选项:
-P port
: 指定SSH端口号(如果不是默认的22端口)-r
: 递归复制整个目录-p
: 保留原始文件的修改时间、访问时间和权限模式-q
: 安静模式,不显示进度信息-C
: 压缩数据传输-i /path/to/key
: 使用指定的私钥文件进行认证
示例:
a. 复制本地文件到远程服务器:
scp /home/user/document.txt user@remote.server:/home/user/
b. 从远程服务器复制文件到本地:
scp user@remote.server:/home/user/document.txt /home/user/
c. 复制整个目录:
scp -r /home/user/project user@remote.server:/home/user/
d. 使用非标准端口:
scp -P 2222 file.txt user@remote.server:/home/user/
注意事项:
- SCP使用与SSH相同的认证机制,所以你可能需要输入密码或使用SSH密钥。
- 路径可以是相对路径或绝对路径。
- 如果目标位置已存在同名文件,SCP会覆盖它,除非使用-n选项。
- SCP默认是安全的,因为它使用SSH进行加密传输。
3.curl
curl
是一个功能强大的命令行工具,用于传输数据,支持多种协议(如 HTTP, HTTPS, FTP 等)。
基本用法:
curl [options] [URL]
常见用法:
-
获取网页内容:
curl https://example.com
-
下载文件:
curl -O https://example.com/file.zip
-
发送 POST 请求:
curl -X POST -d "param1=value1¶m2=value2" https://example.com/api
-
发送 JSON 数据:
curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' https://example.com/api
-
使用认证:
curl -u username:password https://example.com/api
常用选项:
-o filename
: 将输出保存到文件-O
: 下载文件并以远程文件名保存-L
: 跟随重定向-I
或--head
: 只显示响应头-v
: 显示详细信息(包括请求和响应头)-X
: 指定 HTTP 方法(GET, POST, PUT, DELETE 等)-H
: 添加 HTTP 头-d
: 发送 POST 数据-F
: 上传文件-k
: 允许不安全的 SSL 连接-s
: 静默模式,不显示进度或错误信息--proxy
: 使用代理
更多示例:
-
获取 HTTP 响应头:
curl -I https://example.com
-
上传文件:
curl -F "file=@localfile.jpg" https://example.com/upload
-
设置 cookie:
curl -b "session=123" https://example.com
-
保存 cookie:
curl -c cookies.txt https://example.com
-
使用代理:
curl --proxy http://proxy.example.com:8080 https://target-site.com
-
指定 User-Agent:
curl -A "Mozilla/5.0" https://example.com
-
限制带宽:
curl --limit-rate 200k https://example.com/largefile.zip
注意事项:
curl
默认使用 GET 方法。- 对于 HTTPS 请求,
curl
会验证 SSL 证书。使用自签名证书时可能需要-k
选项。 - 使用
-v
选项可以帮助调试,显示详细的请求和响应信息。 curl
可以用于测试 API、下载文件、检查网站响应等多种用途。