46、Linux 服务器串行控制台管理与拨号上网配置指南

Linux 服务器串行控制台管理与拨号上网配置指南

在现代网络环境中,尽管高速宽带网络已经普及,但拨号上网和通过串行控制台管理服务器仍然在某些场景下发挥着重要作用。本文将详细介绍如何通过串行控制台进行 Linux 服务器的远程管理,包括拨号设置、安全配置、日志管理以及文件上传等内容,同时还会讲解如何在 Linux 系统上配置拨号上网账户。

1. 配置服务器以支持拨号管理

1.1 问题描述

如果你想从家里或其他异地位置拨号进入服务器,并通过远程串行控制台进行服务器的远程管理,那么就需要对服务器进行拨号管理的设置。前提是你已经安装并准备好一个合适的硬件控制器调制解调器(内部或外部),并且已经启用了服务器的串行管理功能。现在,你需要知道如何配置服务器的调制解调器来接听电话。

1.2 解决方案

使用 Minicom 来设置调制解调器,使其在你拨号时能够接听。在输入命令时,调制解调器必须处于连接状态。本方案使用大多数调制解调器都支持的 Hayes AT 命令集,请查阅你的调制解调器文档以确认。具体步骤如下:
1. 配置基本的调制解调器设置:

# minicom -s

在出现的配置菜单中,选择“Serial port setup”,并按照以下设置进行输入(除了串行设备,必须是你系统的正确设备):

| A -    Serial Device      : /dev/ttyS0
| B - Lockfile Location     : /var/lock
| C -   Callin Program      :
| D -  Callout Program      :
| E -    Bps/Par/Bits       :115200 8N1
| F - Hardware Flow Control : Yes
| G - Software Flow Control : No
|
|    Change which setting?

完成后,返回主菜单,选择“Save setup as dfl”,然后选择“Exit”。
2. 输入以下调制解调器命令:

AT &F
OK
AT Z
OK
AT &C1 &D2 &K3 S0=2 M0
OK
AT E0 Q1 S2=255 &W

最后,按下 Ctrl - A Q 以完成设置。现在,你可以直接拨号进入服务器,它将在第二声铃响时接听,你将获得与使用空调制解调器电缆直接连接时相同的登录界面。

1.3 讨论

  • 从任何设备拨号时,可以使用便宜的调制解调器,但在服务器上投资一个更好的调制解调器是值得的。
  • 不必过于担心波特率设置,因为现代调制解调器会自动协商线路速度。如果在建立可靠连接时遇到问题,可以尝试降低速度。
  • 可以使用以下命令查看系统的串行端口信息:
$ setserial -g /dev/ttyS[0123]

2. 拨号进入服务器

2.1 问题描述

服务器已经设置好通过拨号进行远程串行管理,那么如何拨号进入服务器并开始工作呢?

2.2 解决方案

使用 Minicom 这个一体化串行通信程序。从远程串行控制台机器拨号时,在 Minicom 的拨号目录中输入电话号码,然后点击“Dial”命令:

$ minicom

在 Minicom 中,按下 Ctrl - A D 打开拨号目录,选择要拨打的号码,然后按下“Dial”。连接成功后,输入用户名和密码即可登录服务器。要退出远程会话,在服务器上输入 logout 命令。

2.3 讨论

这种方式在你的互联网服务中断、以太网故障或需要重启服务器时是一种很好的备用方案。同样,不必过于担心波特率设置,如果连接不稳定,可以在拨号菜单中使用“Edit”命令尝试不同的线路速度。

3. 增加安全性

3.1 问题描述

由于串行线路是直接连接到内核的,绕过了防火墙和入侵检测系统,因此你需要设置一些屏障来防止入侵者,特别是对于拨号管理。

3.2 解决方案

以下是一些提高串行线路安全性的方法:
- 将所有日志定向到远程日志服务器。
- 使用具有内置安全功能的高端调制解调器,如自动回拨、来电显示和批准来电列表。
- 不要使用公开列出号码的电话线。
- 在 /etc/sysctl.conf 中添加以下行来禁用 SysRq 键:

kernel.sysrq = 0
  • 使用 AT S2 = 255 禁用调制解调器的命令模式,但为了防止远程攻击者重置为命令模式并输入恶意命令,建议使用通过 DIP 开关或跳线来切换命令模式的调制解调器。

3.3 讨论

一个不为人知的电话号码是你的第一道防线,但这并不能阻止拨号扫描器。高端调制解调器的安全功能可以帮助抵御持续的攻击者。SysRq 键主要由内核开发人员使用,如果你不进行内核开发,建议禁用它。

4. 配置日志记录

4.1 问题描述

你希望将内核消息定向到串行控制台和日志文件,以便实时跟踪并在以后研究日志文件,该如何操作呢?

4.2 解决方案

配置 /etc/syslog.conf 文件,将内核消息路由到你想要的位置。例如:

kern.*   -/var/log/kern.log
kern.*   /dev/console
kern.*  @xena

上述配置将所有内核消息发送到三个不同的位置:本地文件 /var/log/kern.log 、串行控制台 /dev/console 以及远程日志服务器 xena 。确保找到并更改或删除不适合你日志记录方案的默认 kern 条目。更改此文件后,需要重启 klogd 服务。在 Debian 系统上,使用以下命令:

# /etc/init.d/klogd restart

在 Fedora 系统上,使用以下命令:

# /etc/init.d/sysklogd restart

4.3 讨论

syslog 支持八个不同的严重级别: debug info notice warning err crit alert emerg 。选择其中一个级别时,也会包含所有更高优先级的消息。例如:

kern.crit   /dev/console

crit alert emerg 级别的消息发送到串行控制台。

5. 上传文件到服务器

5.1 问题描述

你需要将一些文件传输到服务器,例如新的网卡驱动程序、替换损坏的驱动控制器或修复混乱的 iptables 配置。由于不是通过以太网连接,因此不能使用 scp 或在文件管理器中进行拖放操作,该怎么办呢?

5.2 解决方案

使用 Minicom 结合传统的文件传输协议,如 Xmodem、Ymodem、Zmodem 或 Kermit。其中,Zmodem 是最佳选择,因为它具有内置的错误纠正功能,最为可靠。具体步骤如下:
1. 在服务器上安装 lrzsz 包:

# 不同系统安装方式可能不同,以常见的包管理器为例
# Debian/Ubuntu
sudo apt-get install lrzsz
# CentOS/RHEL
sudo yum install lrzsz
  1. 使用 Minicom 从远程控制台登录到服务器,在服务器上输入以下命令等待接收文件:
[server@remote:~]$ rz
  1. 在 Minicom 中,按下 Alt - A Z ,然后按下 S 打开文件发送菜单,选择 Zmodem 协议。
  2. 选择要上传的文件。如果你已经知道文件名,可以不通过菜单导航,直接按下“Okay”,在弹出的菜单中输入文件名。
  3. 要在服务器上退出 rz ,按下 Ctrl - X ,可能需要尝试几次。

5.3 讨论

文件将传输到服务器的当前工作目录,因此请确保你处于希望文件存放的目录中。

6. 配置 Linux 拨号上网账户

6.1 配置单个拨号上网账户

6.1.1 问题描述

你需要在 Linux 系统上设置一个拨号上网账户,但不知道使用什么拨号程序或配置工具。或者,你知道 KPPP 和 Gnome - PPP 等工具,但它们需要特定的库和 X Windows 环境,你只想要一个简单的独立拨号程序或命令行拨号程序。

6.1.2 解决方案

使用 WvDial 拨号程序,它可以在任何 Linux 发行版上从命令行运行。配置单个账户的步骤如下:
1. 确保已经安装了 WvDial 和 pppd (点对点协议守护进程)。
2. 准备好你的互联网账户登录信息。
3. 确保 /etc/ppp/options 包含以下基本选项:

asyncmap 0
crtscts
lock
hide-password
modem
proxyarp
lcp-echo-interval 30
lcp-echo-failure 4
noipx
  1. 以 root 用户身份运行 WvDial 配置脚本:
# wvdialconf /etc/wvdial.conf

该脚本会扫描你的串行端口以查找调制解调器,并将调制解调器的默认设置写入 /etc/wvdial.conf 文件。
5. 打开 /etc/wvdial.conf 文件,添加你的登录信息,示例如下:

[Dialer Defaults]
Modem = /dev/ttyS0
Baud = 115200
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
ISDN = 0
Modem Type = Analog Modem
Phone = 123 - 4567
Username = alrac
Password = passfoo
  1. 保存更改后,尝试使用以下命令拨号:
# wvdial
  1. 测试连接,例如使用 ping 命令:
$ ping -C2 yahoo.com
6.1.3 讨论
  • S0 = 0 会使调制解调器立即接听电话,如果你不想启用拨号接入功能,可以删除此设置,或者将其值更改为 1、2、3 或 4,以在第一、二声等铃响时接听。
  • 建议使用 /dev/ttyS* 而不是 /dev/modem ,因为在某些 Linux 发行版中, /dev/modem 可能不是正确的软链接。
  • 现代调制解调器能够自动协商线路速度,115200 是一个安全的默认值。如果连接不稳定,可以尝试较低的速度,如 9600 bps、19200 bps、38400 bps 或 57600 bps。

6.2 配置多个拨号上网账户

6.2.1 问题描述

你有多个拨号上网账户,如何配置 WvDial 来处理它们呢?

6.2.2 解决方案

/etc/wvdial.conf 文件中添加不同的部分。以下是一个示例,将其分为包含全局默认值的部分,然后是三个不同的拨号账户:

[Dialer Defaults]
Modem = /dev/ttyS3
Baud = 115200
Init1 = ATZ
Init2 = ATQ0 V1 E1 &C1 &D2 +FCLASS=0
ISDN = 0
Modem Type = Analog Modem
Dial Attempts = 10
[Dialer ISP1]
Stupid Mode = on
Phone = 1234567
Username = alrac
Password = secretfoo
Idle Seconds = 600
[Dialer ISP2]
Phone = 2345678
Username = foobear@isp1.net
Ask Password = yes
Idle Seconds = 200
[Dialer ISP2]
Stupid Mode = on
Phone = 3456789
Username = fredfoo@isp2.com
Password = fredsecret

要连接到你想要的账户,使用以下命令:

# wvdial ISP2
6.2.3 讨论

另一种方法是将每个账户放在一个单独的配置文件中,然后使用 --config 选项调用该文件:

# wvdial --config /etc/wvdial-isp2

这样可以为不同的用户设置不同的配置,只需确保他们对文件具有读取权限。

6.3 为非 root 用户配置拨号权限

6.3.1 问题描述

你希望普通用户也具有拨号权限,但目前只有 root 用户可以使用拨号功能。如何使非特权用户能够使用拨号上网呢?

6.3.2 解决方案

需要对一些文件的权限进行调整:
1. 确保 /etc/ppp/chap - secrets /etc/ppp/pap - secrets /dev/ttyS* /usr/sbin/pppd /var/lock 等文件的权限设置正确。
2. 一些 Linux 发行版为拨号用户提供了 dialout 组,其他发行版可能使用 dip uucp 组。将 /etc/ppp/chap - secrets /etc/ppp/pap - secrets /dev/ttyS* 等文件的所有权设置为该组:

# chown root:dialout /dev/ttyS3 /etc/ppp/chap-secrets /etc/ppp/pap-secrets
  1. 将授权用户添加到该组中,例如:
dialout:x:20:alrac,foobear,fredfoo

通过以上步骤,你可以全面掌握 Linux 服务器通过串行控制台进行远程管理以及拨号上网账户的配置方法,确保在不同场景下都能高效、安全地使用服务器和网络资源。

7. 配置流程总结与对比

7.1 配置流程总结

为了更清晰地展示各项配置的流程,下面用表格形式进行总结:
| 配置项目 | 关键步骤 |
| — | — |
| 服务器拨号管理 | 1. 使用 minicom -s 配置调制解调器基本设置;2. 输入调制解调器命令;3. 保存设置并退出 |
| 拨号进入服务器 | 1. 打开 minicom ;2. 按下 Ctrl - A D 打开拨号目录;3. 选择号码并拨号;4. 输入用户名和密码登录;5. 输入 logout 退出会话 |
| 增加安全性 | 1. 定向日志到远程服务器;2. 使用高端调制解调器;3. 避免使用公开号码;4. 禁用 SysRq 键;5. 禁用调制解调器命令模式 |
| 配置日志记录 | 1. 编辑 /etc/syslog.conf 路由内核消息;2. 重启 klogd 服务 |
| 上传文件到服务器 | 1. 安装 lrzsz 包;2. 登录服务器并输入 rz 等待接收;3. 在 minicom 中选择 Zmodem 协议并选择文件上传;4. 按下 Ctrl - X 退出 rz |
| 配置单个拨号上网账户 | 1. 安装 WvDial 和 pppd ;2. 准备登录信息;3. 配置 /etc/ppp/options ;4. 运行 wvdialconf /etc/wvdial.conf ;5. 编辑 /etc/wvdial.conf 添加登录信息;6. 运行 wvdial 拨号;7. 测试连接 |
| 配置多个拨号上网账户 | 1. 在 /etc/wvdial.conf 中添加不同账户部分;2. 使用 wvdial 加账户名连接 |
| 为非 root 用户配置拨号权限 | 1. 调整相关文件权限;2. 设置文件所有权到拨号组;3. 将授权用户添加到组中 |

7.2 调制解调器命令对比

不同的调制解调器命令有着不同的作用,下面用表格展示部分常用命令及其功能:
| 命令 | 功能 |
| — | — |
| AT &F | 恢复出厂配置 |
| AT Z | 重置到配置文件 1 |
| AT &C1 | 数据载波检测(DCD)开启,准备接收呼叫调制解调器的数据 |
| AT &D2 | 数据终端就绪(DTR),呼叫调制解调器完成后挂断 |
| AT &K3 | CTS/RTS 握手,防止丢失登录字符 |
| S0=2 | 响铃两声后接听来电 |
| M0 | 关闭调制解调器扬声器 |
| E0 | 不将调制解调器命令回显到屏幕,防止混淆控制台 |
| Q1 | 不将调制解调器响应显示到屏幕 |
| S2=255 | 禁用调制解调器命令模式 |
| &W | 将更改写入非易失性存储器(NVRAM) |

8. 常见问题与解决方法

8.1 连接问题

  • 问题描述 :拨号后无法连接到服务器。
  • 可能原因
    • 调制解调器设置不正确。
    • 电话线故障。
    • 服务器未正确配置。
  • 解决方法
    • 检查调制解调器的波特率、初始化命令等设置是否正确。
    • 检查电话线是否插好,有无损坏。
    • 重新检查服务器的拨号管理配置,确保调制解调器能正常接听。

8.2 权限问题

  • 问题描述 :非 root 用户无法进行拨号操作。
  • 可能原因
    • 相关文件权限未正确设置。
    • 用户未加入正确的组。
  • 解决方法
    • 检查 /etc/ppp/chap - secrets /etc/ppp/pap - secrets /dev/ttyS* /usr/sbin/pppd /var/lock 等文件的权限,确保用户有相应权限。
    • 确认用户已加入 dialout dip uucp 等拨号组。

8.3 文件上传问题

  • 问题描述 :使用 rz 上传文件时失败。
  • 可能原因
    • lrzsz 包未正确安装。
    • 网络连接不稳定。
    • 服务器磁盘空间不足。
  • 解决方法
    • 确保 lrzsz 包已正确安装,可以使用包管理器重新安装。
    • 检查网络连接,尝试重新拨号或更换网络环境。
    • 检查服务器磁盘空间,清理不必要的文件。

9. 配置流程图

graph LR
    classDef startend fill:#F5EBFF,stroke:#BE8FED,stroke-width:2px;
    classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
    classDef decision fill:#FFF6CC,stroke:#FFBC52,stroke-width:2px;

    A([开始]):::startend --> B{选择配置类型}:::decision
    B -->|服务器拨号管理| C(使用 minicom -s 配置调制解调器):::process
    C --> D(输入调制解调器命令):::process
    D --> E(保存设置并退出):::process
    B -->|拨号进入服务器| F(打开 minicom):::process
    F --> G(打开拨号目录并选择号码):::process
    G --> H(拨号并登录):::process
    H --> I(使用后退出会话):::process
    B -->|增加安全性| J(设置日志、调制解调器等安全措施):::process
    B -->|配置日志记录| K(编辑 /etc/syslog.conf):::process
    K --> L(重启 klogd 服务):::process
    B -->|上传文件到服务器| M(安装 lrzsz 包):::process
    M --> N(登录服务器并输入 rz):::process
    N --> O(在 minicom 中选择协议并上传):::process
    O --> P(退出 rz):::process
    B -->|配置拨号上网账户| Q{单个或多个账户}:::decision
    Q -->|单个账户| R(安装 WvDial 和 pppd):::process
    R --> S(配置 /etc/ppp/options):::process
    S --> T(运行 wvdialconf):::process
    T --> U(编辑 /etc/wvdial.conf 添加信息):::process
    U --> V(拨号并测试连接):::process
    Q -->|多个账户| W(在 /etc/wvdial.conf 中添加账户部分):::process
    W --> X(选择账户连接):::process
    B -->|非 root 用户拨号权限| Y(调整文件权限):::process
    Y --> Z(设置文件所有权到组):::process
    Z --> AA(添加用户到组):::process
    E & I & J & L & P & V & X & AA --> BB([结束]):::startend

通过以上的配置方法、流程总结、问题解决以及流程图,你可以更加系统地掌握 Linux 服务器串行控制台管理和拨号上网配置的相关知识,确保服务器和网络的稳定运行。在实际操作过程中,遇到问题可以参考常见问题解决方法,或者根据配置流程进行逐步排查。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值