1.实现外网访问内网的远程桌面
单位机器服务器的IP地址是10.3.198.108,可以上外网,路由器上设置了内网的外网映射地址,内网的地址是192.168.0.*
现在要实现从10.x.x.x的校园网内访问或者从internet网络上访问 192.168.0.*的远程桌面
方法如下
下载rinetd
vi /etc/rinetd.conf
----------------------------------------------------------
10.3.198.108 33890 192.168.0.111 3389
10.3.198.108 33891 10.3.198.101 3389
10.3.198.108 33892 10.3.198.102 3389
10.3.198.108 33893 10.3.198.103 3389
10.3.198.108 33894 10.3.198.104 3389
10.3.198.108 33895 10.3.198.105 3389
10.3.198.108 33896 10.3.198.106 3389
10.3.198.108 33897 10.3.198.107 3389
allow *.*.*.*
allow 192.168.0.*
logfile /var/log/rinetd.log
---------------------------------------------------------
其中10.3.198.108 33890 192.168.0.111 3389表示将10.3.198.108的33890端口映射到 192.168.0.111的3389端口(远程桌面的默认端口)
其他的类似
allow 10.*.*.*,表示可以在校园网内使用
如果要在internet上使用,修改为allow *.*.*.*
然后运行rientd即可
成功运行后,用 netstat -anp|grep 33890可看到监听信息。
2.修改系统的ulimit,修改pbs提交系统的内部ulimit
Linux中默认用户输入 ulimit -a可以查看当前用户的资源限制
如下所示:
root@node8:~ # ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
file size (blocks, -f) unlimited
pending signals (-i) 530432
max locked memory (kbytes, -l) unlimited
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
stack size (kbytes, -s) unlimited
cpu time (seconds, -t) unlimited
max user processes (-u) 530432
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
可以通过
ulimit -d size来修改 data seg size
ulimit -l size 来修改 max locked memory size
.....
.....
如果出现 permittion denied,原因是因为修改的大小超过了 /etc/security/limits.conf中指定的hard属性所指定的值。
在/etc/security/limits.conf中的各项含义如下
<domain>
*
用户名
*
组名用 @group的形式.
*
* 默认的.
*
%, 用于maxlogins限制, 也可以用%group形式.
<type>
hard 最大值,用户修改不能超过此值
soft 默认值
- 同时限制最大值和默认值
<item>
core - 限制内核文件的大小
date - 最大数据大小
fsize - 最大文件大小
memlock - 最大锁定内存地址空间
nofile - 打开文件的最大数目
rss - 最大持久设置大小
stack - 最大栈大小
cpu - 以分钟为单位的最多 CPU 时间
noproc - 进程的最大数目
as - 地址空间限制
maxlogins - 此用户允许登录的最大数目
要使 limits.conf 文件配置生效,必须要确保 pam_limits.so 文件被加入到启动文件中。查看 /etc/pam.d/login 文件中有:
session required /lib/security/pam_limits.so
limits.conf的工作原理:
limits.conf的后端是这样工作的:limits.conf是pam_limits.so的配置文件,然后/etc/pam.d/下的应用程 序调用pam_***.so模块。譬如说,当用户访问服务器,服务程序将请求发送到PAM模块,PAM模块根据服务名称在/etc/pam.d目录下选择 一个对应的服务文件,然后根据服务文件的内容选择具体的PAM模块进行处理。
imits.conf文件的参数
Limits.conf文件的参数可以设置成以下两种形式之一:
暂时地,适用于通过 ulimit 命令登录 shell 会话期间。
永久地,通过将一个相应的 ulimit 语句添加到由登录 shell 读取的文件之一(例如 ~/.profile),即特定于 shell 的用户资源文件;或者通过编辑 /etc/security/limits.conf。
例:限制admin用户登录到sshd的服务不能超过2个
在/etc/pam.d/sshd 中添加 session required pam_limits.so
在/etc/security/limits.conf中添加 admin - maxlogins 2
pbs提交系统中 ,脚本中的ulimit不能用命令来改变,可以通过在/etc/security/limits.conf 中加入限制
有时候还要修改 /etc/init.d/pbs_mom脚本 中对应的 ulimit项目
这是我的pbs_mom对应的ulimit
ulimit -n 32768
## add for unlimit error by linfengfeiye
## 2010-2-26
ulimit -H -l unlimited
ulimit -S -l 4096000
ulimit -H -s unlimited
ulimit -S -s 1024000
ulimit -H -m unlimited
Increasing the file descriptor limit
The file descriptor limit can be increased using the following procedure:
1. Edit /etc/security/limits.conf and add the lines:
* soft nofile 1024
* hard nofile 65535
2. Edit /etc/pam.d/login, adding the line:
session required /lib/security/pam_limits.so
3. The system file descriptor limit is set in /proc/sys/fs/file-max. The following command will increase the limit to 65535:
echo 65535 > /proc/sys/fs/file-max
4. You should then be able to increase the file descriptor limits using:
ulimit -n unlimited
The above command will set the limits to the hard limit specified in /etc/security/limits.conf.
Note that you may need to log out and back in again before the changes take effect.
3.vncserver的安装和访问
RealVnc 方案
Real VNC 配置详解
http://blog.chinaunix.net/u/13902/showart_1783760.html
Linux中一般安装了TightVNC,由于源代码编译比较复杂,一般采用rpm包来安装,rpm包可以到网络上搜索,或者采用更新源机制。
Windows安装版
http://www.tightvnc.com/download/2.0beta2/tightvnc-2.0beta2-setup.exe
Linux源代码
http://www.tightvnc.com/download/1.3.10/tightvnc-1.3.10_unixsrc.tar.bz2
Windows客户端
http://www.tightvnc.com/download/1.3.10/tightvnc-1.3.10_x86_viewer.zip
RealVNC方案
商业版本RealVNC有30天试用期。
vnc企业版下载位置:
http://www.realvnc.com/products/enterprise/index.html
获得30天使用期限的license:
http://www.realvnc.com/cgi-bin/trial-license.cgi?productId=enterprise4/Xvnc
打开EMAIL获得key
安装方法:
tar xzvf vnc-E4_5-x86_linux.tar.gz
cd vnc-E4_5-x86_linux
./vnckeygen
./vnclicense --add key
./vncserver
此处需要输入密码
//默认会采用5900+id端口通信(id表示你的桌面号,第一个开启vncserver的为1)
//下一个为2,以此类推......
完成后在~/.vnc下会生成几个文件,
node8:3.pid
node8:3.log
xstartup
记住这个数字3,将来要通过IP:3的形式来访问
修改配置:
vi ~/.vnc/xstartup
#!/bin/sh
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
twm &
gnome-session &
远程:
在realvnc viewer中输入10.3.198.108:3来访问(这是第3个桌面号)
如果要访问内网机器:
在rinetd.conf中加入一句
10.3.198.108 5901 192.168.2.64 5901 //内网中机器只开启了一个nvcserver桌面,所以是5901
并重启rinetd
即可通过vncviewer实现从服务器10.3.198.108:1来访问192.168.2.64的内网机器
(因为10.3.198.108:1会连接服务器的5901端口)
vncviewer下载:
http://www.realvnc.com/cgi-bin/download.cgi
在vncviewer的窗口中输入10.3.198.108:1来访问192.168.2.64:1上的vncserver
参考:
http://hi.baidu.com/luohuazju/blog/item/07ff13263604221f8b82a13c.html
RealVnc 方案
Real VNC 配置详解
http://blog.chinaunix.net/u/13902/showart_1783760.html
4.关于脚本提交系统的设置(转)
编译torque的时候还有加上参数 --with-pam
这样安装的时候就会把一个pam控制文件安装到系统
然后修改/etc/pam.d/common-account文件
加入下面2行
account sufficient pam_pbssimpleauth.so debug
account required pam_access.so
在修改/etc/security/access.conf文件,加上
-:ALL EXCEPT root admgroup:ALL
这样节点就不能直接登陆了,只有通过pbs提交作业后分配的节点才能让用户直接登陆
qsig给批处理作业发送"杀死"信号
qsig [-s signal] 作业ID
qmove在队列之间移动作业
qmove 目标队列 作业ID
qmsg给批处理作业发送消息
qmsg [-E] [-O] message_string 作业ID
qselect
-q [队列名]查询指定队列中的作业
-h [主机名]查询指定主机上的作业
qhold挂起作业
qhold [-h hold_list] 作业ID
qrls释放作业
qrls [-h hold_list] 作业ID
qrerun重新运行作业
qrerun 作业ID
qalter更改批处理作业属性
-a 更改批处理作业的时间属性
-c 更改检查作业一致性的时间间隔属性
qdel删除批处理作业
qdel [-W delay]作业ID
qsub提交作业
qstat查看状态
-q 显示已经配置的所有队列状态信息
-a 显示已经提交的作业状态信息
-f [作业名] 显示指定作业的所有状态信息
-B 显示服务器的状态
5.配置Xmanager访问SUSE Linux
远程图形访问Linux有2个软件,第一个是vnc,第二个是Xmanager
这里讲解如何通过Xmanager来访问图形化界面的Linux
首先Xmanager不是开源软件,不过网络上存在很多的破解版,因此,如果考虑到安全问题还是用VNC
在Windows中安装Xmanager后,在Linux中只需要很简单的设置,即可远程使用Linux的图形界面
Xmanager也提供了2中方法来访问
第一种就是和VNC一样,直接登录到Linux开启图形界面
第二种是采用输出重定向的方法使用Linux图形界面
第一种的配置
SUSE 10 与 XManager 系统配置
服务器:SUSE
终端:Xmanager 3.0
服务器上操作:
一、打开文件/etc/X11/xdm/Xaccess,并在文件找出下面这行,并把行首的"#"删除掉。
#* #any host can get a login window
删除后为:
* #any host can get a login window
然后保存退出。
接下打开文件/etc/X11/xdm/xdm-config并找出下面这行,并在行首加上一个"!"号,如下:
DisplayManager.requestPort: 0
更改后为:
!DisplayManager.requestPort: 0
然后保存退出。
二、
以下分别以SuSE和RedHat来做下说明。
SuSE10:
编辑/etc/sysconfig/displaymanager (/etc/init.d/xdm 判断并执行相应的DM)
DISPLAYMANAGER="gdm" // 情况2:kdm
DISPLAYMANAGER_REMOTE_ACCESS="yes"
DISPLAYMANAGER_ROOT_LOGIN_REMOTE="yes"
gdm:
编辑/etc/opt/gnome/gdm/gdm.conf
[xdmcp]
Enable=1 // 或 Enable=true
并确保以下信息存在(该行去掉注释):
Port=177
kdm:
/etc/opt/kde3/share/config/kdm/kdmrc
[Xdmcp]
# Whether KDM should listen to XDMCP requests. Default is true.
Enable=true // 或 Enable=1
重启DM:rcxdm restart (或者if dm=gdm ,gdm-restart)
执行X -query 127.0.0.1测试。
第二种的配置
新建一个文件getip用来获取登录的ip地址
vi getip
-------------------------------------------------------------
#!/bin/sh
tty=`tty | awk -F "/dev/" '{print $2}'`
if [[ "$tty" =~ "^tty[0-9]tiny_mce_markerquot; ]]
then
ipaddress=`hostname -i`
echo $ipaddress
else
r_ip=`who|awk -v t="$tty" '$2==t{print $5}'`
ipaddress=`echo $r_ip|tr -d '('|tr -d ')'`
echo $ipaddress
fi
-----------------------------------------------------------------
在~/.bashrc中加入这样的语句
#for display redirect
ip=`sh /opt/bin/getip`
export DISPLAY=${ip}:0.0
保存退出。
在windows中打开Xmanager-passive
重新登录Linux
此时即可使用图形界面,在Linux中输入firefox,将在Windows机器中显示图形。。