• linux下简单好用的端口映射转发工具rinetd


    linux下简单好用的工具rinetd,实现端口映射/转发/重定向
    官网地址http://www.boutell.com/rinetd


    软件下载
    wget http://www.boutell.com/rinetd/http/rinetd.tar.gz

    解压安装
    tar zxvf rinetd.tar.gz
    make
    make install
    [root@PortForward02 rinetd]# make install
    install -m 700 rinetd /usr/sbin
    install -m 644 rinetd.8 /usr/man/man8
    install: cannot create regular file `/usr/man/man8': No such file or directory
    make: *** [install] Error 1
    运行make可能会出现错误,需如下修改,将rinetd.c文件中bindPort >= 65536和connectPort >= 65536修改为65535,不然在make的时候会提示超出系统最大定义端口,按n可以查找下一处
    [root@PortForward02 rinetd]# mkdir -p /usr/man/
    [root@PortForward02 rinetd]# make clean
    [root@localhost rinetd]# make
    cc -DLINUX -g -c -o rinetd.o rinetd.c
    rinetd.c:176: warning: conflicting types for built-in function ‘log’
    cc -DLINUX -g -c -o match.o match.c
    gcc rinetd.o match.o -o rinetd
    [root@localhost rinetd]# make install
    install -m 700 rinetd /usr/sbin
    install -m 644 rinetd.8 /usr/man/man8

    编辑配置
    vi /etc/rinetd.conf
    0.0.0.0 8080 172.19.94.3 8080
    0.0.0.0 2222 192.168.0.103 3389
    1.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

  • 相关阅读:
    /etc/init.d/functions: No such file or directory报错问题
    在Linux上安装Python3.7.1
    python 使用openpyxl实现读写xlsx文件
    Git 撤销本地修改
    element的el-table表格自定义表头,slot="header"内,数据不更新的问题
    记录下本地修改文件名称大小写问题线上说找不到文件
    解决国内访问github慢的问题笔记
    vue项目中使用echarts实现疫情地图
    uni-app项目搭建
    uniapp引入uni-ui组件报错TypeError: this.getOptions is not a function
  • 原文地址:https://www.cnblogs.com/chenjw-note/p/10955224.html
Copyright © 2020-2023  润新知