免费注册 查看新帖 |

Chinaunix

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

[系统管理] 关于iptables设置的相关问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2015-05-27 11:29 |只看该作者 |倒序浏览
本帖最后由 Clownunix 于 2015-05-27 11:36 编辑

关于在本地搭建DNS服务后,iptables这样写后不能ping自己的域名,而其他的计算机可以ping通。这是什么原因呢?
以下是iptables的全部配置:
[root@centos ~]# iptables -L
Chain INPUT (policy DROP)
target     prot opt source               destination
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:http
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:https
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:domain
ACCEPT     udp  --  anywhere             anywhere            udp dpt:domain
ACCEPT     icmp --  anywhere             anywhere
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:ssh

Chain FORWARD (policy DROP)
target     prot opt source               destination

Chain OUTPUT (policy DROP)
target     prot opt source               destination
ACCEPT     tcp  --  anywhere             anywhere            tcp spt:http
ACCEPT     tcp  --  anywhere             anywhere            tcp spt:https
ACCEPT     tcp  --  anywhere             anywhere            tcp spt:domain
ACCEPT     udp  --  anywhere             anywhere            udp spt:domain
ACCEPT     icmp --  anywhere             anywhere
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:domain
ACCEPT     udp  --  anywhere             anywhere            udp dpt:domain
ACCEPT     tcp  --  anywhere             anywhere            tcp spt:ssh

在本地ping的话,不能ping成功:(域名不能发,就用#####来代替吧,晕)
[root@centos ~]# ping #####
ping: unknown host #####

而在其他计算机中使用ping,却可以成功ping进去:
C:\Users\Administrator>ping #####

正在 Ping ##### [17.17.17.5] 具有 32 字节的数据:
来自 17.17.17.5 的回复: 字节=32 时间<1ms TTL=64
来自 17.17.17.5 的回复: 字节=32 时间<1ms TTL=64
来自 17.17.17.5 的回复: 字节=32 时间<1ms TTL=64
来自 17.17.17.5 的回复: 字节=32 时间<1ms TTL=64

17.17.17.5 的 Ping 统计信息:
    数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
    最短 = 0ms,最长 = 0ms,平均 = 0ms

论坛徽章:
17
巨蟹座
日期:2014-11-20 23:04:5215-16赛季CBA联赛之北控
日期:2018-08-01 16:08:4015-16赛季CBA联赛之浙江
日期:2017-12-08 11:25:2415-16赛季CBA联赛之四川
日期:2016-11-21 00:16:50操作系统版块每日发帖之星
日期:2016-07-28 06:20:0015-16赛季CBA联赛之吉林
日期:2016-05-25 15:36:04操作系统版块每日发帖之星
日期:2016-02-12 06:20:002015亚冠之西悉尼流浪者
日期:2015-08-28 14:48:322015亚冠之平阳省
日期:2015-08-19 14:54:162015亚冠之武里南联
日期:2015-07-07 10:49:112015亚冠之城南
日期:2015-06-22 10:15:002015亚冠之山东鲁能
日期:2015-06-18 18:03:44
2 [报告]
发表于 2015-05-27 14:42 |只看该作者
先用nslookup尝试解析一下域名,能解析就是icmp相关条目有问题,如果不能就是dns的条目有问题

求职 : Linux运维
论坛徽章:
203
拜羊年徽章
日期:2015-03-03 16:15:432015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:57:092015小元宵徽章
日期:2015-03-06 15:58:182015年亚洲杯之约旦
日期:2015-04-05 20:08:292015年亚洲杯之澳大利亚
日期:2015-04-09 09:25:552015年亚洲杯之约旦
日期:2015-04-10 17:34:102015年亚洲杯之巴勒斯坦
日期:2015-04-10 17:35:342015年亚洲杯之日本
日期:2015-04-16 16:28:552015年亚洲杯纪念徽章
日期:2015-04-27 23:29:17操作系统版块每日发帖之星
日期:2015-06-06 22:20:00操作系统版块每日发帖之星
日期:2015-06-09 22:20:00
3 [报告]
发表于 2015-05-27 23:15 |只看该作者
你自己电脑问题吧

论坛徽章:
0
4 [报告]
发表于 2015-05-28 07:42 |只看该作者
回复 2# yyu0378
我感觉是iptables的问题。以为感觉OUTPUT写错了。

论坛徽章:
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 [报告]
发表于 2015-05-28 08:11 |只看该作者
  1. iptables -I INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
  2. iptables -I OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
复制代码
lz添加这个规则到你的iptables规则里面测试下

论坛徽章:
0
6 [报告]
发表于 2015-05-28 11:05 |只看该作者
回复 5# chenyx
还是不行,外网的用户可以ping通,但是自己始终不能ping通自己的域名或者访问自己的域名网站。

论坛徽章:
4
白羊座
日期:2013-09-17 21:59:30技术图书徽章
日期:2013-10-12 22:16:03白羊座
日期:2013-10-14 11:01:40双子座
日期:2013-12-17 18:26:39
7 [报告]
发表于 2015-05-28 16:57 |只看该作者
本机用的dns服务器与其他计算机一样吗

论坛徽章:
0
8 [报告]
发表于 2015-05-29 09:37 |只看该作者
回复 7# 井蛙夏虫
是一样的,关闭iptables可以通,开启iptables就unknown

论坛徽章:
4
白羊座
日期:2013-09-17 21:59:30技术图书徽章
日期:2013-10-12 22:16:03白羊座
日期:2013-10-14 11:01:40双子座
日期:2013-12-17 18:26:39
9 [报告]
发表于 2015-05-29 10:06 |只看该作者
本帖最后由 井蛙夏虫 于 2015-05-29 10:07 编辑

回复 8# Clownunix
把这个命令的结果发一下
  1. iptables -L -v
复制代码

论坛徽章:
0
10 [报告]
发表于 2015-06-04 09:36 |只看该作者
问题已解决!自己找到了问题所在。(就当总结一下吧,顺便给哪些和我一样才学的朋友一点思路)
原因在于:
         iptables本身服务器想ping自己(这里设想成ping的其他服务器),那么就等于是自己需要ping通外面,那么OUTPUT链表就需要放行来源为127.0.0.1的地址通过。所以我在iptables中添加了如下两条命令:
                 iptables -A OUTPUT -p tcp --dport 53 -j ACCEPT      //这里OUTPUT链表使用了dport的理解为:允许来源127.0.0.1的地址的数据通过OUTPUT链表出去
                        iptables -A OUTPUT -p udp --dport 53 -j ACCEPT    //如上一样的理解。(只是不同的协议而已)
            这里似乎只需要udp协议的53就可以通行了,不过我还是将两条都加上去了。
         如果有哪位大神有什么补充的话,请留言哦,谢谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP