首页 > 系统 > Linux > 正文

linux rinetd 端口转发部署

2024-06-28 16:00:05
字体:
来源:转载
供稿:网友

软件下载wget http://www.boutell.com/rinetd/http/rinetd.tar.gz解压安装tar zxvf rinetd.tar.gzmakemake install编辑配置vi /etc/rinetd.conf0.0.0.0 8080 172.19.94.3 80800.0.0.0 2222 192.168.0.103 33891.2.3.4 80     192.168.0.10 80说明一下(0.0.0.0表示本机绑定所有可用地址)将所有发往本机8080端口的请求转发到172.19.94.3的8080端口将所有发往本机2222端口的请求转发到192.168.0.103的3389端口将所有发往1.2.3.4的80端口请求转发到192.168.0.10的80端口命令格式是bindaddress bindport connectaddress connectport绑定的地址  绑定的端口  连接的地址  连接的端口或[Source Address] [Source Port] [Destination Address] [Destination Port]源地址  源端口   目的地址  目的端口启动程序pkill rinetd  ##关闭进程rinetd -c /etc/rinetd.conf  ##启动转发把这条命令加到/etc/rc.local里面就可以开机自动运行查看状态netstat -antup需要注意1.rinetd.conf中绑定的本机端口必须没有被其它程序占用2.运行rinetd的系统防火墙应该打开绑定的本机端口例如:-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 1111 -j ACCEPT-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 2222 -j ACCEPT

另外我加了一下监控服务

#!/bin/sh#------------------------------------------------------------------------------# 函数: CheckPRocess# 功能: 检查一个进程是否存在# 参数: $1 --- 要检查的进程名称# 返回: 如果存在返回0, 否则返回1.#------------------------------------------------------------------------------

CheckProcess(){# 检查输入的参数是否有效  if [ "$1" = "" ];  then    return 1  fi#$PROCESS_NUM获取指定进程名的数目,为1返回0,表示正常,不为1返回1,表示有错误,需要重新启动  PROCESS_NUM=`ps -ef | grep "$1" | grep -v "grep" | wc -l`  if [ $PROCESS_NUM -eq 1 ];  then    return 0  else    return 1  fi}# 检查rinetd实例是否已经存在while [ 1 ] ; do CheckProcess "rinetd" CheckQQ_RET=$? if [ $CheckQQ_RET -eq 1 ]; then# 杀死所有rinetd进程,可换任意你需要执行的操作 rinetd -c /etc/rinetd.conf & fi sleep 300done


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表