linux下使用rinetd来实现端口转发

windows下的端口转发一般用的是自带的nat和porttunnel、portmap

linux下端口转发映射的程序叫rinetd,启动方法rinetd -c /etc/rinetd.conf  ,pkill rinetd  关闭进程

工具主页: http://www.boutell.com/rinetd/
软件下载,解压安装

代码如下:

wget http://www.boutell.com/rinetd/http/rinetd.tar.gz
tar zxvf rinetd.tar.gz
make
make install

把1.1.1.1的11端口映射到2.2.2.2的3389端口,配置文件如下

代码如下:

[root@localhost iso]# cat   /etc/rinetd.conf
 
1.1.1.1 11 2.2.2.1 3389
1.1.1.1 12 2.2.2.2 3389
1.1.1.1 13 2.2.2.3 22
1.1.1.1 14 2.2.2.4 80
allow *.*.*.*
logfile /var/log/rinetd.log

启动程序

代码如下:

pkill rinetd  ##关闭进程
rinetd -c /etc/rinetd.conf  ##启动转发

把这条命令加到/etc/rc.local里面就可以开机自动运行
查看状态

代码如下:

netstat -antup

如果想用iptables实现的话,可以用一下命令。

代码如下:

WAN_IP=”202.106.0.20″
iptables -t nat -A PREROUTING -i eth0 -p tcp –dport 2533 -j DNAT –to 192.168.1.88:80
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.1.88 -p tcp –sport 80 -j SNAT –to $WAN_IP:2533

第一句定义一个变量
第二句实现对端口为2533的请求转发到192.168.1.88的80端口
第三句修改从etho输出的源地址为192.168.1.88,端口为80的数据包的源地址为本机的2533端口,以便对方收到
数据包之后能正确返回。

以上所述就是本文的全部内容了,希望大家能够喜欢。

(0)

相关推荐

  • 关闭selinux(防火墙)方法分享

    刚好手工装完一台CentOS6.4,就顺便记录一下. 复制代码 代码如下: # sestatusSELinux status:                 enabledSELinuxfs mount:                /selinuxCurrent mode:                   enforcingMode from config file:          enforcingPolicy version:                 24Policy

  • linux增加iptables防火墙规则的示例

    以下是我的iptables设置 复制代码 代码如下: *filter:INPUT DROP [0:0]:FORWARD ACCEPT [0:0]:OUTPUT ACCEPT [49061:9992130]-A INPUT -i lo -j ACCEPT   不开启会有很多服务无法使用,开启回环地址-A INPUT -p icmp -j ACCEPT   允许icmp包通过,也就是允许别人ping自己-A INPUT -m state --state RELATED,ESTABLISHED -j

  • 在Linux代理服务器上设置防火墙

    一般而言,实现Linux的防火墙功能有两种策略.一种是首先全面禁止所有的输入.输出和转发数据包,然后根据用户的具体需要逐步打开各项服务功能.这种方式的特点是安全性很高,但必须全面考虑用户所需的各项服务功能,不能有任何遗漏,要求系统管理员清楚地知道实现某种服务和功能需要打开哪些服务和端口.第二种方式是首先默认打开所有的输入.输出数据包,然后禁止某些危险包.IP欺骗包.广播包.ICMP服务类型攻击等:对于应用层的服务,像http.sendmail.pop3.ftp等,可以有选择地启动或安装.这种方式

  • linux下mysql开启远程访问权限 防火墙开放3306端口

    开启mysql的远程访问权限 默认mysql的用户是没有远程访问的权限的,因此当程序跟数据库不在同一台服务器上时,我们需要开启mysql的远程访问权限. 主流的有两种方法,改表法和授权法. 相对而言,改表法比较容易一点,个人也是比较倾向于使用这种方法,因此,这里只贴出改表法 1.登陆mysql mysql -u root -p 2.修改mysql库的user表,将host项,从localhost改为%.%这里表示的是允许任意host访问,如果只允许某一个ip访问,则可改为相应的ip,比如可以将l

  • 3-8 Linux系统中防火墙的框架简单分析

    Netfilter提供了一个抽象.通用化的框架,该框架定义的一个子功能的实现就是包过滤子系统.Netfilter框架包含以下五部分: 1. 为每种网络协议(IPv4.IPv6等)定义一套钩子函数(IPv4定义了5个钩子函数), 这些钩子函数在数据报流过协议栈的几个关键点被调用.在这几个点中,协议栈将把数据报及钩子函数标号作为参数调用netfilter框架. 2. 内核的任何模块可以对每种协议的一个或多个钩子进行注册,实现挂接,这样当某个数据包被传递给netfilter框架时,内核能检测是否有任何

  • Linux防火墙iptables入门教程

    一.关于iptables Iptables是一个基于命令行的防火墙工具,它使用规则链来允许/阻止网络流量.当一条网络连接试图在你的系统中建立时,iptables会查找其对应的匹配规则.如果找不到,iptables将对其采取默认操作.几乎所有的Linux发行版都预装了iptables.在Ubuntu/Debian中更新/安装iptables的命令为: 复制代码 代码如下: sudo apt-get install iptables 现有的一些图形界面软件也可以替代iptables,如Firesta

  • linux防火墙配置教程之允许转发实验(2)

    一.实验目标 在上一次"Linux基础网络搭建实验"中,内.外网虚拟机之所以能Ping通,是因为暂时关闭了防火墙,然而现实中这样操作显然存在很大的安全隐患,所以本次实验在上次实验的基础下,开启防火墙,并配置防火墙规则,使得内.外网虚拟机任然能够Ping通. (Linux基础网络搭建实验:Linux网络搭建基础实验(1) ) 网络拓扑图: 二.实验步骤 1.搭建如图所示的网络(参考"Linux基础网络搭建实验") 2.在网关上开启防火墙,此时内网虚拟机不能Ping通外

  • Linux系统中防火墙的框架分析

    Netfilter提供了一个抽象.通用化的框架,该框架定义的一个子功能的实现就是包过滤子系统.Netfilter框架包含以下五部分: 1. 为每种网络协议(IPv4.IPv6等)定义一套钩子函数(IPv4定义了5个钩子函数), 这些钩子函数在数据报流过协议栈的几个关键点被调用.在这几个点中,协议栈将把数据报及钩子函数标号作为参数调用netfilter框架. 2. 内核的任何模块可以对每种协议的一个或多个钩子进行注册,实现挂接,这样当某个数据包被传递给netfilter框架时,内核能检测是否有任何

  • 阿里云linux服务器安全设置(防火墙策略等)

    首先需要进行linux的基础安全设置,可以先参考这篇文章 http://www.jb51.net/article/94842.htm 1.Linux系统脚本 #!/bin/bash ######################################### #Function: linux drop port #Usage: bash linux_drop_port.sh #Author: Customer Service Department #Company: Alibaba Clo

  • linux下mysql链接被防火墙阻止的解决方法

    vi /etc/sysconfig/iptables 在后面添加 -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT service iptables restart 发现还是不行 最终发现记录要添加在 -A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT 这一条前面 再次重启 OK

随机推荐