免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: sqp1982
打印 上一主题 下一主题

iptable做端口映射问题 [复制链接]

论坛徽章:
0
31 [报告]
发表于 2005-03-09 13:25 |只看该作者

iptable做端口映射问题

spq1982,你如果是在内网,你在LINUX防火墙上设置了第二条策略,那么你无法访问外网的SSH了
因为你的所有包的目的地址均被替换成192.168.0.6了

-i ppp0,是为了加以更详细的匹配规则,只有外面的人才被PREROUTING

论坛徽章:
0
32 [报告]
发表于 2005-03-09 13:52 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
33 [报告]
发表于 2005-03-09 14:04 |只看该作者

iptable做端口映射问题

内网用户也能通过公网ip来访问这个网站的,只不过要在加个命令
假设SERVER内网IP为192.168.0.3
加一个SNAT转化

iptables -t nat -A PREROUTING -p tcp -d 192.168.01 --dport 80 -j DNAT --to 192.168.0.3

论坛徽章:
0
34 [报告]
发表于 2005-03-09 14:14 |只看该作者

iptable做端口映射问题

原帖由 "sqp1982" 发表:
是这样的 谢谢!
是这样的 谢谢!
如果我在服务器对外网只开放80端口 怎么做 机器上有两块网卡 我有点搞不清在定义规则的时候要不要指定eth0  eth1.
还有有用eth1拨号上网的 那我的eth1是不是没用了

我想禁止外网ping我, 我这样写的对么

iptables -A INPUT -p icmp -s! 192.168.0.0/24 -j DROP

对,如果你用eth1拨号上网,拨上去以后是ppp0起作用,eth1可以忽略

另外,关于ping的问题,你需要了解ICMP协议,ICMP里面有很多个状态,其中我们用到的是状态0(ECHO)和状态8(REPLY)

ping的过程是这样的,假如A ping B

A ---Echo Request-->; B
A <----Echo Reply---- B

也就是说,你只要禁止掉外来的ICMP type 0就可以,如果全禁止掉,可能会影响到你ping别人:)

论坛徽章:
0
35 [报告]
发表于 2005-03-09 14:36 |只看该作者

iptable做端口映射问题

to 双眼皮的猪
你可以参考iptables-tutorial-1-1-19中6.5.2. DNAT target

里面是这么说的

我想通过Internet连接发布我们的网站,但是HTTP server在我们的内网里,而且我们对外只有一个合法的IP,就是防火墙那个对外的IP——$INET_IP。防火墙还有一个内网的IP——$LAN_IP,HTTP server的IP是$HTTP_IP (这当然是内网的了)。

现在,我们来考虑和HTTP服务器在同一个内网(这里是指所有机子不需要经过路由器而可以直接互相访问的网络,不是那种把服务器和客户机又分在不同子网的情况)的客户访问它时会发生什么。我们假设客户机的IP为$LAN_BOX,其他设置同上。


包离开$LAN_BOX,去往$INET_IP。

包到达防火墙。

包被DNAT,而且还会经过其他的处理。但是包没有经过SNAT 的处理,所以包还是使用它自己的源地址,就是$LAN_BOX(译者注:这就是IP 传输包的特点,只根据目的地的不同改变目的地址,但不因传输过程中要经过很多路由器而随着路由器改变其源地址,除非你单独进行源地址的改变。其实这一步的处理和对外来包的处理是一样的,只不过内网包的问题就在于此,所以这里交待一下原因)。

包离开防火墙,到达HTTP服务器。

HTTP服务器试图回复这个包。它在路由数据库中看到包是来自同一个网络的一台机子,因此它会把回复包直接发送到请求包的源地址(现在是回复包的目的地址),也就是$LAN_BOX。

回复包到达客户机,但它会很困惑,因为这个包不是来自它访问的那台机子。这样,它就会把这个包扔掉而去等待“真正”的回复包。

针对这个问题有个简单的解决办法,因为这些包都要进入防火墙,而且它们都去往需要做DNAT才能到达的那个地址,所以我们只要对这些包做SNAT操作即可。比如,我们来考虑上面的例子,如果对那些进入防火墙而且是去往地址为$HTTP_IP、端口为80的包做SNAT操作,那么这些包就好象是从$LAN_IP来的了,也就是说,这些包的源地址被改为$LAN_IP了。这样,HTTP服务器就会把回复包发给防火墙,而防火墙会再对包做 Un-DNAT操作,并把包发送到客户机。解决问题的规则如下:

iptables -t nat -A POSTROUTING -p tcp --dst $HTTP_IP --dport 80 -j SNAT \ --to-source $LAN_IP

要记住,按运行的顺序POSTROUTING链是所有链中最后一个,因此包到达这条链时,已经被做过DNAT操作了,所以我们在规则里要基于内网的地址$HTTP_IP(包的目的地)来匹配包。

论坛徽章:
0
36 [报告]
发表于 2005-03-09 16:08 |只看该作者

iptable做端口映射问题

原帖由 "海之蓝" 发表:
to 双眼皮的猪
你可以参考iptables-tutorial-1-1-19中6.5.2. DNAT target

里面是这么说的

我想通过Internet连接发布我们的网站,但是HTTP server在我们的内网里,而且我们对外只有一个合法的IP,就是防火墙?.........


很受启发!!!

论坛徽章:
0
37 [报告]
发表于 2005-03-09 17:24 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
38 [报告]
发表于 2005-03-09 17:29 |只看该作者

iptable做端口映射问题

还有 我想让外网的机器 用nmap只类的软件探测不到我开放了哪些端口和我用什么样的操作系统 不知道你有没有作过 谢谢

你要对外服务吗?
你要开端口让外网访问吗?
那你怎么杜绝nmap扫描你开了什么端口呢?

隐蔽是隐蔽不了的,不过可以尝试欺骗
有的防火墙有种欺骗功能,当扫描软件扫的时候,所有端口(1-65535)全是开着的,这到也是一个好办法,不过具体如何实现我就不清楚了

至于操作系统,我不清楚探测原理,所以也不清楚如何防止

论坛徽章:
0
39 [报告]
发表于 2005-03-09 17:36 |只看该作者

iptable做端口映射问题

原帖由 "海之蓝" 发表:
内网用户也能通过公网ip来访问这个网站的,只不过要在加个命令
假设SERVER内网IP为192.168.0.3
加一个SNAT转化

iptables -t nat -A PREROUTING -p tcp -d 192.168.01 --dport 80 -j DNAT --to 192.168.0.3

这个我没看懂 ,不是说snat转化吗?怎么成dnat了?  


to  楼主:
哈~我也很热心啊~
至于nmap探测不到你的机器问platinum咯,他做过的,所有的drop只开放部分端口,最后一条做mirror。

如果裸露在公网上,想掩盖os就不容易了,namp是通过tcp协议栈来判断的,除非改源码了~

你们谈吧,我不说话了,我觉得很多时候话没说清楚,我的那个帖子应该另开一个的,现在弄的有点乱了。
谢谢海之蓝:)

论坛徽章:
0
40 [报告]
发表于 2005-03-09 17:52 |只看该作者

iptable做端口映射问题

原帖由 "海之蓝" 发表:
to 双眼皮的猪
你可以参考iptables-tutorial-1-1-19中6.5.2. DNAT target

里面是这么说的

我想通过Internet连接发布我们的网站,但是HTTP server在我们的内网里,而且我们对外只有一个合法的IP,就是防火墙?.........

我做了一下测试,不过好像不好使
环境如下:
服务器
eth0: 192.168.0.11/24(外网);
eth1:   192.168.1.1/24(内网)
内网web sv: 192.168.1.2/24
外网测试 client:192.168.0.14/24

1,在web sv 上开web服务;
2,在服务器上执行
iptables -t nat -A PREROUTING -p tcp -i eth0 --dport 80 -j DNAT --to 192.168.1.2:80
3,在192.168.0.14上测试 http://192.168.0.11 进入192.168.1.2的页面;
4,在192.168.1.2上 测试http://192.168.0.11 却进入了192.168.0.11的页面
5,在服务器上执行
iptables -t nat -A POSTROUTING -p tcp -d 192.168.1.2 --dport 80 -j SNAT --to 192.168.1.1
6,内网测试,仍然不行,进入的还是服务器的web页面;外网正常
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP