位置: 编程技术 - 正文
推荐整理分享配置iptables实现本地端口转发的方法详解(iptables配置文件详解),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:iptables 配置文件,iptables配置ip段,iptables配置文件详解,iptables配置nat,iptables配置ip段,iptables配置nat,iptables配置文件详解,如何配置iptables,内容如对您有帮助,希望把文章链接给更多的朋友!
场景假如你在用 resin 调试一个 Web 程序,需要频繁地重启 resin。这个 Web 程序需要开在 端口上,而 Linux 限制 以下的端口必须有 root 权限才能开启。但是你又不愿意在调程序的时候总是开着一个 root 终端。在这种情况下,你可以把 resin 开在默认的 端口上,然后使用 iptables 来实现和真的把服务开在 端口上一样的效果。方法将与 端口的 TCP 连接转接到本地的 端口上。使用 DNAT (Destination Network Address Translation) 技术可以满足这一要求。因为 iptables 在处理本地连接和远程连接的方法不同,所以需要分开处理。下面假设本机的 IP 是 ..4.。远程连接远程连接指的是由另外一台机器连接到这台机器上。这种连接的数据包在 iptables 会首先经过 PREROUTING 链,所以只需在 PREROUTING 链中作 DNAT。复制代码代码如下:# iptables -t nat -A PREROUTING -p tcp -i eth0 -d ..4. --dport -j DNAT --to ..4.: 本地连接本地连接指的是在本机上,用 .0.0.1 或者本机 IP 来访问本机的端口。本地连接的数据包不会通过网卡,而是由内核处理后直接发给本地进程。这种数据包在 iptables 中只经过 OUTPUT 链,而不会经过 PREROUTING 链。所以需要在 OUTPUT 链中进行 DNAT。除了对 .0.0.1 之外,对本机 IP (即 ..4.) 的访问也属于本地连接。复制代码代码如下:# iptables -t nat -A OUTPUT -p tcp -d .0.0.1 --dport -j DNAT --to .0.0.1:# iptables -t nat -A OUTPUT -p tcp -d ..4. --dport -j DNAT --to .0.0.1: 注意事项你也许需要通过以下命令打开 IP 转发:复制代码代码如下:# echo 1 > /proc/sys/net/ipv4/ip_forward 在进行试验时,如果要重新设置 iptables,需要首先清空 nat 表:复制代码代码如下:# iptables -F -t nat 实例操作这里将本地接口IP ..a.b 的端口 转发到 .6.c.d的 (主要访问到..a.b的端口,就会跳转到.6.c.d的)1、 首先应该做的是/etc/sysctl.conf配置文件的 net.ipv4.ip_forward = 1 默认是0 这样允许iptalbes FORWARD。2、 service iptables stop 关闭防火墙3、 重新配置规则复制代码代码如下:iptables -t nat -A PREROUTING --dst ..a.b -p tcp --dport -j DNAT --to-destination .6.c.d:iptables -t nat -A POSTROUTING --dst .6.c.d -p tcp --dport -j SNAT --to-source ..a.bservice iptables save
将当前规则保存到 /etc/sysconfig/iptables 若你对这个文件很熟悉直接修改这里的内容也等于命令行方式输入规则。5、 启动iptables 服务, service iptables start
可以写进脚本,设备启动自动运行;
复制代码代码如下:# vi /etc/rc.local #!/bin/sh## This script will be executed *after* all the other init scripts.# You can put your own initialization stuff in here if you don't# want to do the full Sys V style init stuff.</p><p>touch /var/lock/subsys/local</p><p>sh /root/myshipin.log---------------------------------------------------------------------vi myshipin.log #!/bin/sh## This script will be executed *after* all the other init scripts.# You can put your own initialization stuff in here if you don't# want to do the full Sys V style init stuff.</p><p>iptables -F -t natiptables -t nat -A PREROUTING --dst ..a.b -p tcp --dport -j DNAT --to-destination .6.c.d:iptables -t nat -A POSTROUTING --dst .6.a.b -p tcp --dport -j SNAT --to-source ..c.d~----------------------------------------------------------------TCP</p><p>iptables -t nat -A PREROUTING --dst ..a.b -p tcp --dport -j DNAT --to-destination ..a.b:iptables -t nat -A POSTROUTING --dst ..a.b -p tcp --dport -j SNAT --to-source ..a.b</p><p>UDPiptables -t nat -A PREROUTING --dst ..a.b -p udp --dport -j DNAT --to-destination ..a.b:iptables -t nat -A POSTROUTING --dst ..a.b -p udp --dport -j SNAT --to-source ..a.b另:
iptables配置文件的位置:/etc/sysconfig/iptables 外网地址发变化在配置文件里修改就可以了。
Linux系统下安装配置postfix邮件服务器的教程 一,安装postfix,cyrus-sasl,cyrus-imapd如果yum提示找不到软件包,请换一下源,请参考centos6推荐使用epel源复制代码代码如下:[root@localhost~]#yuminstallpostfix[root
连接Linux的服务器时使用SSH密钥认证及解决自动断连问题 A机器(ssh连接发起端,即客户端):添加一个测试用户aaa复制代码代码如下:[root@A~]#useraddaaasu成aaa复制代码代码如下:[root@A~]#su-aaa[aaa@A~]$ssh-keygen创建rsa
在Linux系统的VPS上安装配置OpenVPN的详细教程 OpenVPN在安全性上比PPTP,L2TP和IPsec都高,因为它通过三个证书的安全验证,实现了整个通信链路的完整加密。安装步骤:一、首先检查VPS上的tun设备是否
标签: iptables配置文件详解
本文链接地址:https://www.jiuchutong.com/biancheng/353382.html 转载请保留说明!上一篇:在Linux系统下使用TUN/TAP虚拟网卡的基本教程(linux用)
下一篇:Linux系统下安装配置postfix邮件服务器的教程(linux的安装)
友情链接: 武汉网站建设