[[emailprotected] ~]# vim /data/scripts/rinetd_check.sh#!/b
linux下简单好用的工具rinetd,实现端口映射/转发/重定向
Linux下做地点NAT有很多种要领。好比haproxy、nginx的4层代办代理,,linux自带的iptables等都能实现。haproxy、nginx就不说了,配置相对简单;iptables配置庞大,观点也对照多DNAT、SNAT、PREROUTING、POSTROUTING等等。其实,Linux下有一个叫rinetd的工具,安置简单,配置也不庞大。
1.下载安置
[[email protected] ~]# wget --no-check-certificate //使用“不查抄证书” 插手no-check-certificate 即可告成安置 [[email protected] ~]# tar zxvf rinetd.tar.gz [[email protected] ~]# cd rinetd && sed -i ‘s/65536/65535/g‘ rinetd.c [[email protected] ~]# mkdir /usr/man [[email protected] ~]# make && make install cc -DLINUX -g -c -o rinetd.o rinetd.c rinetd.c:176:6: 警告:与内建函数‘log’类型斗嘴 [默认启用] void log(int i, int coSe, int result); ^ cc -DLINUX -g -c -o match.o match.c gcc rinetd.o match.o -o rinetd [[email protected] ~]# install -m 700 rinetd /usr/sbin [[email protected] ~]# install -m 644 rinetd.8 /usr/man/man82.编纂配置文件
[[email protected] ~]# vim /etc/rinetd.conf 0.0.0.0 8080 172.19.94.3 8080 0.0.0.0 60022 192.168.0.103 60022 0.0.0.0 80 192.168.0.10 80 logfile /var/log/rinetd.log 说明(0.0.0.0暗示本机绑定所有可用地点) 将所有发往本机8080端口的请求转发到172.19.94.3的8080端口 将所有发往本机60022端口的请求转发到192.168.0.103的60022端口 将所有发往本机的80端口请求转发到192.168.0.10的80端口命令格局是:
bindaddress bindport
connectaddress connectport
绑定的地点
绑定的端口 连接的地点
连接的端口
或
[Source Address] [Source Port] [Destination Address] [Destination Port]
源地点
源端口
目的地点
目的端口
3.启动与封锁措施
[[email protected] ~]# rinetd -c /etc/rinetd.conf [[email protected] ~]# pkill rinetd4.校验
[[email protected] ~]# netstat -tanulp|grep rinetd tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 27683/rinetd tcp 0 0 0.0.0.0:60022 0.0.0.0:* LISTEN 27683/rinetd tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 27683/rinetd需要注意:
1.rinetd.conf中绑定的本机端口必需没有被其它措施占用
2.运行rinetd的系统防火墙应该打开绑定的本机端口
因为我们的跳板机都是转发的数据库等其他的端口,运行了一段时间后发明rinetd处事就挂了,没步伐就执行写个脚本查抄pid号,如果挂了就重启。
[[email protected] ~]# vim /data/scripts/rinetd_check.sh #!/bin/bash #rinetd pid check pid=`ps -ef |grep [r]inetd` if [ $? -ne 0 ] then rinetd -c /etc/rinetd.conf echo "Interrupt restart time:" `date` else echo rinetd pid is running... echo date is : `date` fi #插手按时任务(每两个小时监测一次) [[email protected] ~]# crontab -l 0 */2 * * * sh /data/scripts/rinetd_check.sh >> /data/logs/rinetd.log 2>&1linux端口映射转发工具rinetd
温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/web/31332.html
- 上一篇: 二DOM的访问 我们知道
- 下一篇:‘vuex‘: ‘Vuex‘ }