使用COM口连接Linux
我们在通过网络远程配置iptables的时候,经常会遇到因为配置文件书写错误,或者因为配置文件的逻辑错误,使Linux服务器拒绝远程的管理请求,导致我们无法继续通过网络远程配置服务器。
一般的做法也就是跑到机房找个显示器,再拉个键盘接到那个主机上,然后本地把iptables规则清理掉,再继续配置。那是相当麻烦了。假如你的那个服务器附近既没有显示器,也没有键盘呢?那岂不是死翘翘了。
其实我们可以让Linux把原本输送到屏幕的内容,再送一份到COM口中,使我们可以通过COM口来登陆我们的服务器。以Fedora Core 6 Linux为例,具体操作过程如下:
一、设置BIOS,使输出重定向到COM
这个需要主板BIOS的支持,具体操作需要看下主板说明书,一般的主板目前还不支持。
二、设置Grub,使输出重定向到COM
打开Grub的配置文件:/boot/grub/menu.lst,在第一个title前加入如下内容:
#For console http://www.wuwx.cn
serial –unit=0 –speed=9600
terminal –timeout=10 serial console
#End console
grub引导过程中, 会将输出同时发送到终端屏幕和串口. grub引导过程中将在终端和连接到串口的超级终端上提示Press any key to continue, 每秒钟提示一次, 共10次, 可修改menu.lst文件terminal行中的–timeout=10改变提示次数, 在这一段时间内, 可以在终端的键盘, 或者连接到串口的超级终端中按任意键进入grub选择菜单. 如果10秒内没有在终端和连接串口的超级终端上按任意键, 则grub的选择菜单将出现在连接串口的超级终端上, 如果希望默认情况下, grub选择菜单出现在终端上, 则可修改menu.lst将serial console修改为console serial.
三、将Kernel输出信息输出到串口
原来的Grub中Kernel启动参数可能如下:
kernel /boot/vmlinuz-2.6.18-1.2798.fc6 ro root=LABEL=/
在其后面增加:
console=tty0 console=ttyS0,9600
这里需要注意的是后发布的那个console是主console,与Grub的配置相反
然后使用SecureCRT通过COM口连接到服务器上,设置COM口的比特率为9600、8、n、1,使用root用户在服务器上执行:
echo ‘1′ > /dev/ttyS0
正常情况下,原来黑屏的COM口上就会出现一个’1′这样的一个文字,就说明COM连接正常连接了。
然后重新启动服务器。就可以通过COM口看到服务器原来发送到屏幕终端的任何信息了,包括Grub选择,启动信息,甚至关机信息等。
这样,不管你怎么配置iptables,都不怕掉线咯。