最佳技术支持

作者:Various
配置 ipchains

当前设置:我正在运行 ipchains 作为防火墙,并通过 DSL 为我的另一台机器代理 Web。这个 Linux 防火墙有两块网卡:一块具有公共 IP 地址,另一块在我的私有 10.100.100 网络上。我在私有网络 (10.100.100.20) 上有一台 Web 服务器。我该如何配置 ipchains,将所有发送到我的防火墙的 Web 请求重定向到我内部网络上的 Web 服务器?—Mitchel Vernor, mitboy@hotmail.com

您需要使用端口转发工具(例如 rediripmasqadm)来“重定向”所有尝试连接到您的防火墙地址的 80 端口(假设您正在使用默认端口)的请求到 Web 服务器的地址。redir 是一个用户空间程序,有一些限制,但适用于较旧的内核版本。ipmasqadm(我推荐使用)适用于 2.2.x(以及一些 2.1.x),并且是基于内核的。

假设所有其他输入、输出和转发链都存在,您只需添加

ipmasqadm portfw -f
ipmasqadm portfw -a -P tcp -L EXTERNAL_FIREWALL_IP 80
-R 10.100.100.20 80

到您的启动脚本中。—Mario de Mello Bittencourt Neto, mneto@argo.com.br

有关内核版本 2.2 及更高版本下的端口转发的更多信息,包括示例,可以在 www.monmouth.demon.co.uk/ipsubs/portfw-2.2.html 找到。—Chad Robinson, Chad.Robinson@brt.com

如果您的系统上没有 ipmasqadm,您可以在这里找到它:http://juanjox.kernelnotes.org/。您至少需要内核 2.2.x 才能使其工作(尽管有针对 2.0.x 的补丁),并且您的内核必须具有 IP: ipportfw masq support (EXPERIMENTAL),这是一个只有在配置期间选中“Prompt for development and/or incomplete code/drivers”(提示开发和/或不完整的代码/驱动程序)时才能选择的选项。—Marc Merlin, marc_bts@valinux.com

PPP 网络

我可以使用空调制解调器在 Win98 和 Linux 机器之间建立支持 TCP/IP 的 PPP 连接吗?其中一台机器需要拨号连接到另一台。我正在使用 Red Hat 5.2。—Kiran, ajay@cc.usu.edu

是的,可以。我将设置 Win98 机器通过双击拨号连接来“呼叫” Linux 系统。我更喜欢这种方式,因为 Windows 机器期望“登录”到远程系统,而 Linux 机器可以提供“登录”。为了使这项工作正常进行,您必须注意连接机器的串行电缆的正确设置(引脚输出)。此外,根据电缆设置,最好在拨号端口配置设置中告诉 Windows 机器不要等待拨号音再拨号。Linux 机器不会提供拨号音。在 Linux 端,您可以创建一个新的登录 ID 和密码,并将其配置为使用 PPP 守护程序作为登录 shell,而不是通常的 bash。此外,您必须在 Linux 机器上设置串行端口以始终自动提供登录。一个详细解释这一点的优秀页面是 www.linuxgazette.com/issue41/smyth.html。—Felipe E. Barousse, fbarousse@piensa.com

分区后恢复

一位使用 Debian 2.1 的朋友尝试将 Red Hat 6.0 安装到他硬盘的另一个分区中。Red Hat 的安装过程删除了他硬盘的分区表。我们需要一种方法来恢复 Debian 分区中的一些重要文件。我们无法访问该分区。您能解释一些方法吗?—Alexis Serafin, sith@arrakis.es

如果您确切知道崩溃之前分区表的样子,您可以简单地编写一个看起来与旧分区表完全相同的新分区表,挂载旧分区并备份数据。如果在写入新分区表后立即中止安装过程,仅此一项就可以解决问题。如果一切都失败了,请尝试这样做:创建一个包含整个磁盘的分区(例如,/dev/hdb1),挂载该分区,并将整个磁盘原始复制到一个大文件(在另一个磁盘上),使用类似这样的命令:

dd if=/dev/hdb1 of=/bigdisk/recovered.data bs=512

然后,尝试使用 /bigdisk/recovered.data 将文件拼接在一起。就我个人而言,我只尝试过 dd 步骤,因此除了手动拼接文件非常困难之外,这种方法可能还存在其他问题。将其视为一种绝望的策略。我知道在灾难发生后听到这些从来没有帮助,请不要认为我没有同情心,但处理此类问题的最佳方法始终是预防:保留备份,并在需要之前打印出关键信息,例如分区表。这是痛苦的经验之谈。—Scott Maxwell, maxwell@ScottMaxwell.org

虽然这很困难,但您可以查找引导分区签名(我认为是块末尾的 55 AA),并在磁盘上定位分区。以上操作需要磁盘编辑器,例如 Norton 的 diskedit,一旦您有了分区偏移量,您就可以转到分区表(磁盘的第一个块,应用分区表视图并输入数字)。请注意,这并非易事,并且拥有另一台计算机作为模型来查看和复制会很有帮助。您也可以尝试 fixdisktable,它可以自动执行此操作(但仅适用于主分区);它可以在 bmrc.berkeley.edu/people/chaffee/fat32.html 找到。—Marc Merlin, marc_bts@valinux.com

移除另一个操作系统

一个经常被问到的问题是如何从计算机上移除 Linux。那么安全地移除 Windows 98 呢?我在硬盘的第一个分区 (/dev/hda1) 上安装了 Windows 98,在逻辑分区 (/dev/hda5, 6, ...) 上安装了 Red Hat 6.0。我能够使用安装在主引导记录上的 LILO 进行双启动。有一天,我决定永远告别 Windows 98。我在 /dev/hda1 上运行了 mke2fs,并将其划分为三个分区。现在当我启动计算机时,LILO 根本没有出现,我需要使用软盘启动。

我尝试安装 LILO(通过运行 /sbin/lilo),但徒劳无功。我尝试移除 LILO 并重新安装它,但是当我运行 /sbin/lilo -u 时,我收到了以下错误消息

The boot sector of /dev/hda does not have a LILO signature.

我使用 Windows 98 启动盘启动机器,运行 fdisk /mbr 并重新安装 LILO。仍然不行。

我从Linux Journal三月刊的 CD 中获得了一张 TurboLinux,将其安装在我创建的新分区上,并将 LILO 安装在主引导记录中。它不起作用。我应该怎么做才能再次使用 LILO 启动?—Tam Laying, tamlayin@oupchina.com.hk

确保您的 lilo.conf 文件看起来像这样

boot=/dev/hda
compact  # faster, but won't work on all systems.
ramdisk = 0
map=/boot/map
install=/boot/boot.b
prompt
timeout=100
image=/boot/vmlinuz
        label=linux
        root=/dev/hda5
        read-only

然后运行 lilo,它应该安装一个新的引导块。您的问题可能与您创建新分区时分区被移动或重命名有关。—Marc Merlin, marc_bts@valinux.com

电影和视频

在 Linux 中播放电影文件时,视频非常跳跃,并且没有声音。我已经设置了我的 Soundblaster Live!,它可以正常工作。我还有一块 Voodoo2 3dfx 显卡—我是否必须设置这块显卡才能流畅地播放电影?我的显卡是一块带有 16MB 显存的 ATI all-in-wonder pro。PC 是一台 PII/333,配备 128MB 内存。—Graham Bell, grahambell@bigfoot.com

在播放视频(和音频)时,存在许多问题,不仅在 Linux 中,在其他操作系统中也是如此。首先,如果您打算从互联网上播放视频,例如流媒体视频,请确保您获得良好的连接,速度越快越好。这样,视频质量将大大提高。您的软件可能有一些与视频质量与视频播放速度相关的调整:最佳图像质量可能会较慢,并且可能会丢失一些帧。此外,请务必检查您尝试播放的格式是否与您正在使用的软件的版本一致。如果您的软件不完全支持您想要播放的视频格式,它可能无法按预期工作。我将设置所有硬件并进行“本地”测试以确保一切正常工作,然后我才会观看在线广播。—Felipe E. Barousse, fbarousse@piensa.com

您没有提及您正在使用的视频程序 (xanim?) 或视频格式 (avi, mpeg, real video)。我提到的每种格式都存在一些已知问题,并且可用的客户端部分有些受限。最近,Real Networks 发布了一个具有更好 Linux 支持的客户端 (RealPlayer),并且它运行良好。—Mario de Mello Bittencourt Neto, mneto@argo.com.br

更改权限

我正在将 Linux 服务器连接到 Macintosh。我已经安装了 Netatalk,一切似乎都在运行。当我转到 Macintosh 时,我可以查看 Linux 服务器并从中访问任何我想要的文件。但是,如果我尝试保存到 Linux 服务器,我会收到一条消息,告诉我我没有“Make Changes”(进行更改)权限,并且无法执行此操作。我的 Windows 98 机器工作正常,因此我不认为是 chmod 问题。我认为这是我在 NetaTalk 配置中遗漏了某些东西。—Aime Emery, aemery@northtroyconsulting.com

看起来这与密码有关。如果您的 Linux 使用影子密码,则必须使用影子密码支持编译 NetaTalk。此外,还有大量选项可以配置 NetaTalk 及其所有相关协议。一个对您有用的网页可以查看这些参数是 http://thehamptons.com/anders/netatalk/。—Felipe E. Barousse, fbarousse@piensa.com

缺少主机密钥?

安装 Red Hat Linux 后,当它启动时,我收到

Failed Message Starting sshd.error Could not load host key: /etc/ssh/ssh_host_key: no such file or directory 如何修复此问题?—Qamar Ansari, qamar@hotmail.com

sshd 尝试通过查找其配置文件(通常是 /etc/ssh/sshd_config)中的 HostKey 条目来查找 ssh_host_key,回退到默认的 /etc/ssh/ssh_host_key。确保配置文件中的 HostKey 文件名与您要使用的 ssh_host_key 文件的位置匹配。一些 ssh 安装将所有 ssh 文件直接放在 /etc 下,因此您的文件可能由于某种原因在那里(尽管这不太可能)。如果 ssh_host_key 文件根本不存在,您可以运行以下命令创建一个新文件

ssh-keygen -f /etc/ssh/ssh_host_key

作为 root 用户。—Scott Maxwell, maxwell@ScottMaxwell.org

发送者未收到

我无法接收来自 MSN 的任何电子邮件;但是,我可以发送邮件。我很困惑。我确信我正确输入了 POP3 服务器。这个问题在我尝试过的所有邮件程序中都是一致的。虽然我对 Microsoft 不抱幻想,但我的 ISP 选择在这里受到限制。—Frank Elston, felston@msn.com

任何以合理价格接听电话的 ISP 都是一个好的 ISP;使用 MSN 并不丢人。尝试手动获取您的 POP 电子邮件。运行命令 telnet my.pop.server,其中 my.pop.server 是 MSN 提供给您的 POP3 服务器。连接后,键入命令 USER myusername。然后键入命令 PASS mypassword。如果您在任何时候收到错误,您将知道您是否使用了错误的服务器、用户名和/或密码。—Chad Robinson, Chad.Robinson@brt.com

首先,您是否确定从您当地的 MSN 商店购买了 POP 服务?POP3 有几个设置参数;其中一些与安全相关。尝试使用启用 SSL 的连接,并通过切换任何这些配置来测试它是否有效。此外,MSN 应该为您提供有关如何连接到其服务的所有相关信息,至少从 Windows PC 上是这样。从该信息中,您可以获取配置 Linux 机器所需的内容。—Felipe E. Barousse, fbarousse@piensa.com

资源

加载 Disqus 评论