信息化 频道

印度CIO口述⑧:小接线盒引来大危机

    2) 要实现对远程主机的访问,通常我们都会使用 X 窗口软件或者远程访问软件。 比较有名的是 Exceed,但是太大而且很贵,Xwin Pro 比较小,但功能简单。

    Xmanager Enterprise 是一个优秀的 X 窗口服务器。Linux 服务器作为一个X 客户端把资料发给 Xmanager,由它负责解释并且作图。所以,这就带来一个问题,Linux 本机登录时已经安装的字体,但是 X 窗口服务器可能不认识。

    解决方案是在 X 窗口服务器上安装对应的字体(厂家提供,不好找),或者是在 Linux 服务器(也就是 X 客户端)建立一个 Font Server。这样当 X 服务 器碰到解释不了的字体,就会到 Font Server 去查询并下载,然后显示出来。

    用 root 登陆,RH菜单--->系统设置--->登录屏幕--->XDMCP,选"启用XDMCP"。你可以用 Broadcast 方式去搜索 XDMCP,也可以用 Passive 接受主机数据。

    考虑到 Redhat AS3_U6 作为服务器,通常都启动了防火墙,那么我们首先要把一些端口打开。xdmcp 是 UDP 177,x11 是 TCP 6000,xfs 是 TCP 7100。

    Vnc 一般是用 TCP 5900,但在 Linux 里从 5901 开始,每加一个端口递增。

service iptables stop service iptables status less /etc/rc.d/init.d/iptables <----- IPTABLES=iptables IPTABLES_DATA=/etc/sysconfig/$IPTABLES IPTABLES_CONFIG=/etc/sysconfig/${IPTABLES}-config -----> vi /etc/sysconfig/iptables <----- # Firewall configuration written by redhat-config-securitylevel # Manual customization of this file is not recommended. *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] :RH-Firewall-1-INPUT - [0:0] -A INPUT -j RH-Firewall-1-INPUT -A FORWARD -j RH-Firewall-1-INPUT -A RH-Firewall-1-INPUT -i lo -j ACCEPT -A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT -A RH-Firewall-1-INPUT -p 50 -j ACCEPT -A RH-Firewall-1-INPUT -p 51 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 7778 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 7777 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 7100 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 6000 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 5902 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 5901 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 5900 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 4443 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 1521 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 177 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 25 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 23 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT -A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited COMMIT -----> vi /etc/services {用vi的"/数字"找到端口号附近的区域,填加下列信息} <----- oratns 1521/tcp # Oracle listener ...... vnc+0 5900/tcp # VNC Server Port + 0 vnc+1 5901/tcp # VNC Server Port + 1 vnc+2 5902/tcp # VNC Server Port + 2 ...... oraSSL 4443/tcp # Oracle Apache 1.3.22 ...... oraweb 7777/tcp # Oracle Apache 1.3.22 orassl 7778/tcp # Oracle Apache 1.3.22 -----> service iptables start service iptables status <----- Chain RH-Firewall-1-INPUT (2 references) target prot opt source destination ACCEPT all -- anywhere anywhere ACCEPT icmp -- anywhere anywhere icmp any ACCEPT ipv6-crypt-- anywhere anywhere ACCEPT ipv6-auth-- anywhere anywhere ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:orassl ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:oraweb ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:xfs ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:x11 ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:vnc+2 ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:vnc+1 ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:vnc+0 ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:oraSSL ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:oratns ACCEPT udp -- anywhere anywhere state NEW udp dpt:xdmcp ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:http ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:smtp ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:telnet ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:ssh ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:ftp REJECT all -- anywhere anywhere reject-with icmp-host-prohibited -----> cat /etc/rc.d/init.d/xfs | grep -e config -e daemon <----- # chkconfig: 2345 90 10 # config: /etc/X11/fs/config daemon xfs -droppriv -daemon -----> vi /etc/rc.d/init.d/xfs {备注:一些资料说Unix默认是 -1,最好强制指定为 7100 断绝隐患} <----- daemon xfs -droppriv -daemon -port 7100 -----> vi /etc/X11/fs/config {备注:默认是关闭 TCP,要用时在 no-listen 前面加注解号,重启} <----- # don't listen to TCP ports by default for security reasons # no-listen = tcp -----> netstat -na | grep :7100 lsof -P | grep -e *:7100 xfsinfo -server 192.168.100.60:7100 <----- name of server: 192.168.100.60:7100 version number: 2 vendor string: The XFree86 Project (experimental version) vendor release number: 6600 maximum request size: 8192 longwords (32768 bytes) number of catalogues: 1 all Number of alternate servers: 0 number of extensions: 0 -----> vi /etc/X11/XF86Config <----- RgbPath "/usr/X11R6/lib/X11/rgb" FontPath "/usr/share/fonts/zh_CN/TrueType" FontPath "/usr/X11R6/lib/X11/fonts/ttf-zh" FontPath "/usr/X11R6/lib/X11/fonts/75dpi" FontPath "/usr/X11R6/lib/X11/fonts/misc" FontPath "/usr/X11R6/lib/X11/fonts/CID" FontPath "/usr/X11R6/lib/X11/fonts/Speedo" FontPath "/usr/X11R6/lib/X11/fonts/100dpi" FontPath "unix/:7100" FontPath "tcp/192.168.100.60:7100" ----->
    如果上面的文字过于简略导致不便理解,请参考下面这篇文章,作者:laptop。

    http://www.linuxforum.net/doc/xdmcp.html

基于XDMCP的远程X

    重起 Linux 后,以上修改就生效了。在 WinXp 里可以用广播方式和被动方式 去访问主机。运行 Xmanager - Broadcast,在 Broadcast Chooser 对话框里会显示所找到的 XDMCP 主机,rebeca[192.168.100.60][Linux 2.4.21-37.EL],选中你的服务器并点 connect。如果没有连接成功,请检查是否本机具备两个或以上 IP,这时弹出一个 IP Selector,请选择跟主机同一个网段的 IP。连接成功后,RH菜单--->系统工具--->终端,点右键,选"将该启动器加入面板"。

    没有配置 Xconfig,直接在 Xmanager 里安装 Oracle,执行 ./runInstaller出现报错信息,并显示大量的“口口”,说明 Linux 的字体在 Xman 里无效。Font specified in font.properties not found [-tlc-song-medium-r-normal--*-%d-*-*-c-*-gbk-0]

    所以必须 Xconfig,把 XDMCP sample 设置成 Default,然后找 Font 栏目, Add Font Server,填写 Linux 主机 IP,例如 192.168.100.60,端口 7100。添加成功后,显示 tcp/192.168.100.60:7100。这时候再安装就有中文。

    运行 Xmanager - Passive,用 SecureCRT 登录 Linux 主机 192.168.100.60。xhost +192.168.100.70

    结果:192.168.100.70 being added to access control list,于是这个IP可以作为 X 窗口的主机了。权限变动后 Xmanager 会自动关闭,请重新运行。

    export DISPLAY=192.168.100.70:0.0

    执行 ./runInstaller 就发现安装界面跑到你的屏幕了,Xconfig 同上所述。
0
相关文章