网络服务与安全

网络服务与安全

这一篇学习 Linux 常用的网络服务和安全配置。这些知识在服务器管理中非常实用。

FTP 文件传输

FTP(File Transfer Protocol)是文件传输协议,用于在计算机之间传输文件。

安装

1
$ sudo apt-get install -y vsftpd

两种传输模式

  • 主动模式(PORT):比较简单,只需在防火墙放开 21 和 20 端口
  • 被动模式(PASV):需要根据情况放开一个端口段

理解主动/被动模式

简单说,主动模式是服务器主动连接客户端的数据端口,被动模式是客户端主动连接服务器的数据端口。很多 FTP 客户端默认使用被动模式。

两种运行模式

  • xinetd 模式:由 xinetd 作为守护进程,连接完成后关闭 FTP 主程序,释放内存。资源占用少,适合连接数较少的场合。
  • standalone 模式:FTP 主程序长期驻留内存,响应速度快,适合连接数较大的情况,但较耗资源。

NTP 时间同步

NTP(Network Time Protocol)是网络时间协议,用于同步计算机的时间。

安装

1
$ sudo apt-get install -y ntp

配置

配置文件位于 /etc/ntp.conf,可以指定时间校对服务器:

1
2
3
4
server 0.asia.pool.ntp.org
server 1.asia.pool.ntp.org
server 2.asia.pool.ntp.org
server 3.asia.pool.ntp.org

启动服务

1
$ sudo service ntpd start

为什么需要时间同步?

计算机的时钟会逐渐漂移,时间不准会导致日志记录混乱、证书验证失败等问题。NTP 会自动从时间服务器同步时间,保持系统时间准确。

NFS 网络文件系统

NFS(Network FileSystem)允许一台计算机通过网络访问另一台计算机的文件,就像访问本地文件一样。

安装

1
$ sudo apt-get install -y nfs-common nfs-kernel-server

配置共享目录

配置文件位于 /etc/exports,一行表示共享一个目录:

1
/opt/mytest 192.168.0.0/24(rw,sync,all_squash,no_subtree_check)
  • /opt/mytest:要共享的目录
  • 192.168.0.0/24:允许访问的网段,* 表示任意网段
  • rw:可读写(ro 是只读)
  • sync:同步模式,内存数据实时写入磁盘

客户端访问

1
2
3
4
5
# 查看服务器共享了哪些目录
$ showmount -e 192.168.1.25

# 挂载共享目录
$ mount -t nfs 192.168.1.25:/opt/mytest/ /mytest/

Iptables 防火墙

Iptables 是 Linux 下的防火墙工具,用于控制网络数据包的进出。

注意:iptables 在 CentOS 和 Ubuntu 下的设置有些细节不一样。这里介绍通用概念。

常用命令

命令 作用
iptables -L -n --line-numbers 查看已有规则列表并显示编号
iptables -D INPUT 8 删除 INPUT 链中序号为 8 的规则
iptables -F 清除所有规则(慎用)

添加规则

格式:iptables [-AI 链名] [-io 网络接口] [-p 协议] [-s 来源IP] [-d 目标IP] -j [ACCEPT|DROP|REJECT]

常用例子:

1
2
3
4
5
6
7
8
9
10
11
# 允许访问 22 端口(SSH)
iptables -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT

# 允许访问 80 端口(Web)
iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT

# 允许 ping
iptables -I INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT

# 禁止其他未允许的规则访问(使用前一定要保证 22 端口开着)
iptables -I INPUT -j REJECT

理解 Iptables

Iptables 就像一个「门卫」,根据规则决定放行(ACCEPT)、丢弃(DROP)还是拒绝(REJECT)数据包。链(Chain)是规则的集合,常用的有 INPUT(进入)、OUTPUT(输出)、FORWARD(转发)。配置防火墙时一定要先放行 SSH 端口,否则会把自己锁在外面。

小结

这一篇我们学习了网络服务和防火墙。下一篇学习 Docker 容器技术。

上一篇:系统维护与定时任务

下一篇:Docker 入门