免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1574 | 回复: 5
打印 上一主题 下一主题

[网络管理] iptables的端口管理应用 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-07-08 13:57 |只看该作者 |倒序浏览
我想实现的功能:
访问我的路由器上的页面设置,让内网用户直接用80端口访问,让外网用户访问时使用1234端口
如果修改web服务器也能达到这个目的,但是我想iptables是否可以实现这个功能呢?另外问下有人修改过goahead源码来实现这个功能吗?请赐教
下面是我写的iptbals实现的方法:

用户自定义端口:1234,$wan为外网IP,$lan为内网ip,$mask子网掩码

Iptables –t nat –A PROUTING –d $wan –s !$lan/$mask –p tcp –m tcp –dport 1234 –j DNAT –to-destination $wan:80
Iptables –t nat –A PROUTING –s $wan –d !$lan/$mask –p tcp –m tcp –sport 80 –j DNAT –to-destination $wan:1234
原理:
        访问:凡是非内网IP访问路由的外网且端口为1234的均把此包的端口改为80
        返回:凡是从外网口发出的且目的ip为非内网ip,且源端口为80,都把目的端口改为1234,达到远程访问的目的
不知道这样写是不是对的呢?请对iptables熟悉的指点下!

论坛徽章:
381
CU十二周年纪念徽章
日期:2014-01-04 22:46:58CU大牛徽章
日期:2013-03-13 15:32:35CU大牛徽章
日期:2013-03-13 15:38:15CU大牛徽章
日期:2013-03-13 15:38:52CU大牛徽章
日期:2013-03-14 14:08:55CU大牛徽章
日期:2013-04-17 11:17:19CU大牛徽章
日期:2013-04-17 11:17:32CU大牛徽章
日期:2013-04-17 11:17:37CU大牛徽章
日期:2013-04-17 11:17:42CU大牛徽章
日期:2013-04-17 11:17:47CU大牛徽章
日期:2013-04-17 11:17:52CU大牛徽章
日期:2013-04-17 11:17:56
2 [报告]
发表于 2012-07-08 14:49 |只看该作者
没用过你的那个web服务器.
你直接让web服务器侦听外网的1234和内网的80端口就行了,做nat没有必要啊

论坛徽章:
13
15-16赛季CBA联赛之同曦
日期:2016-01-28 19:52:032015亚冠之北京国安
日期:2015-10-07 14:28:19NBA常规赛纪念章
日期:2015-05-04 22:32:03处女座
日期:2015-01-15 19:45:44卯兔
日期:2014-10-28 16:17:14白羊座
日期:2014-05-24 15:10:46寅虎
日期:2014-05-10 09:50:35白羊座
日期:2014-03-12 20:52:17午马
日期:2014-03-01 08:37:27射手座
日期:2014-02-19 19:26:54子鼠
日期:2013-11-30 09:03:56狮子座
日期:2013-09-08 08:37:52
3 [报告]
发表于 2012-07-08 14:49 |只看该作者
让内网用户直接用80端口访问,让外网用户访问时使用1234端口
用户自定义端口:1234,$wan为外网IP,$lan为内网ip,$mask子网掩码

Iptables –t nat –A PROUTING –d $wan –s !$lan/$mask –p tcp –m tcp –dport 1234 –j DNAT –to-destination $wan:80
Iptables –t nat –A PROUTING –s $wan –d !$lan/$mask –p tcp –m tcp –sport 80 –j DNAT –to-destination $wan:1234

  1. LAN_IP="local ip address"
  2. LAN_IP_RANGE="lan/mask"
  3. LAN_IFACE="lan nic"

  4. INET_IP="public ip address"
  5. INET_IFACE="internet nic"

  6. IPTABLES="/sbin/iptables"

  7. $IPTABLES -t nat -A PREROUTING -p tcp -s ! $LAN_IP_RANGE -d $INET_IP -i $INET_IFACE --dport 1234 -j DNAT --to-destination $LAN_IP:80

复制代码

论坛徽章:
0
4 [报告]
发表于 2012-07-09 17:42 |只看该作者
回复 2# chenyx
但是goahead只能侦听一个端口啊   默认的是80   呵呵  所以才用iptables试试能不能实现的!


   

论坛徽章:
381
CU十二周年纪念徽章
日期:2014-01-04 22:46:58CU大牛徽章
日期:2013-03-13 15:32:35CU大牛徽章
日期:2013-03-13 15:38:15CU大牛徽章
日期:2013-03-13 15:38:52CU大牛徽章
日期:2013-03-14 14:08:55CU大牛徽章
日期:2013-04-17 11:17:19CU大牛徽章
日期:2013-04-17 11:17:32CU大牛徽章
日期:2013-04-17 11:17:37CU大牛徽章
日期:2013-04-17 11:17:42CU大牛徽章
日期:2013-04-17 11:17:47CU大牛徽章
日期:2013-04-17 11:17:52CU大牛徽章
日期:2013-04-17 11:17:56
5 [报告]
发表于 2012-07-09 19:07 |只看该作者
那你就试试3楼的方法,直接dnat到内网的80端口

论坛徽章:
0
6 [报告]
发表于 2012-07-09 19:23 |只看该作者
值得一试   正在找环境!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP