免费注册 查看新帖 |

Chinaunix

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

[网络管理] 端口转发的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-01-10 09:54 |只看该作者 |倒序浏览
以下是我们的脚本,我的问题是我需要远程桌面连接192.168.80.3,做了3389的端口的转发,也单独开放了192.168.80.3的3389端口。可就是连不上,一定用下面一句“iptables -I FORWARD -s 192.168.80.3 -j ACCEPT “开放全部端口才能连上,这是为什么哩!


#!/bin/sh
###清除所有的规则
iptables -F
iptables -X
iptables -F -t mangle
iptables -F -t nat
###结束 清除所有规则
###加入必需模块
modprobe ip_tables
modprobe ip_nat_ftp
modprobe ip_conntrack_ftp
modprobe ip_conntrack
modprobe ip_conntrack_irc
modprobe ip_nat_irc
###结束 加入必需模块
###开启FORWARD转发功能
echo 1 > /proc/sys/net/ipv4/ip_forward
###结束 开启FORWARD转发功能
###内网伪装外网IP代理上网
iptables -A POSTROUTING -t nat -s 192.168.80.0/24 -o eth0 -j SNAT --to 192.168.1.151
###结束 内网伪装外网IP代理上网
####设置防火墙默认值
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
###结束 设置防火墙默认值
###关闭网络###
iptables -A FORWARD -s 192.168.80.0/24 -j DROP
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
###结束 关闭网络###
###允许内网SSHD服务####
iptables -I INPUT -p tcp -s 192.168.80.2 --dport 22 -j ACCEPT
iptables -I OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -I OUTPUT -p udp -d 192.168.80.2 --dport 514 -j ACCEPT
###结束 允许内网SSHD服务####
###开放所有上网功能###
iptables -I FORWARD -s 192.168.80.2 -j ACCEPT
iptables -I INPUT -s 192.168.80.2 -j ACCEPT
iptables -I OUTPUT -s 192.168.80.2 -j ACCEPT
###结束 开放所有上网功能###
###允许外网SSHD服务####
iptables -t nat -I PREROUTING -p tcp --dport 3389 -d 192.168.1.250 -j DNAT --to 192.168.80.3:3389
iptables -I FORWARD -p tcp --dport 3389 -d 192.168.80.3 -j ACCEPT
iptables -I INPUT -p tcp -s 192.168.80.3 --dport 3389 -j ACCEPT
iptables -I OUTPUT -p tcp -d 0.0.0.0/0 --dport 3389 -j ACCEPT
###结束 允许内网SSHD服务####
###端口转发###
iptables -t nat -A PREROUTING -p tcp --dport 3389 -d 192.168.1.151 -j DNAT --to 192.168.80.3:3389
iptables -I FORWARD -s 192.168.80.3 -p tcp --dport 3389 -j ACCEPT
#iptables -I FORWARD -s 192.168.80.3 -j ACCEPT
###结束 端口转发###

firewall.rar

760 Bytes, 下载次数: 31

论坛徽章:
0
2 [报告]
发表于 2012-01-10 10:12 |只看该作者
不懂。帮你顶顶

论坛徽章:
0
3 [报告]
发表于 2012-01-10 12:27 |只看该作者
iptables -A FORWARD -s 192.168.80.0/24 -j DROP

就因为这一句,当数据包流入经过这条规则的时候就已经被DROP掉了,后面的规则就不用再去匹配过滤了。

论坛徽章:
0
4 [报告]
发表于 2012-01-10 12:39 |只看该作者
你的规则重关于192.168.80.3的摘录一下:
iptables -A FORWARD -s 192.168.80.0/24 -j DROP
iptables -I FORWARD -p tcp --dport 3389 -d 192.168.80.3 -j ACCEPT
iptables -I FORWARD -s 192.168.80.3 -p tcp --dport 3389 -j ACCEPT

将上面三条规则放到规则链中:
iptables -I FORWARD -s 192.168.80.3 -p tcp --dport 3389 -j ACCEPT
iptables -I FORWARD -p tcp --dport 3389 -d 192.168.80.3 -j ACCEPT
iptables -A FORWARD -s 192.168.80.0/24 -j DROP

分析一下:
iptables -I FORWARD -s 192.168.80.3 -p tcp --dport 3389 -j ACCEPT
     #TCP协议,源地址192.168.80.3,目标端口3389,放行;【如果改成--sport呢?可能就通了。】
iptables -I FORWARD -p tcp --dport 3389 -d 192.168.80.3 -j ACCEPT
     #TCP协议,目标地址192.168.80.3,目标端口3389,放行;
iptables -A FORWARD -s 192.168.80.0/24 -j DROP
     #其他统统DROP掉。

补充:
iptables -I FORWARD -s 192.168.80.3 -j ACCEPT
如果最后执行该规则,那么这条规则将置于规则链中的第一条,那么你后面所有针对192.168.80.0/24的DROP的规则将不生效。

另外,3楼的回复是因为我低估了楼主的-I(实在不敢恭维脚本中使用-I),需求理清楚了再写规则。

论坛徽章:
0
5 [报告]
发表于 2012-01-10 12:47 |只看该作者
谢谢!真的是这样子。

论坛徽章:
0
6 [报告]
发表于 2012-01-10 22:45 |只看该作者
客气
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP