请教为一台 DNS CACHE 做IPTABLES 策略

发布于 2022-09-28 09:49:39 字数 3042 浏览 25 评论 0

策略要实现以下的 功能,
服务器有2块网卡,eth0 和 eth1
0接外网
1接内网

要求对外网只提供 DNS CACHE服务,和SSH功能
对内提供SSH,何MTRG服务.

我现在做了 策略 如下,
#!/bin/sh
#define var
EX_INTERFACE=eth1
EX_INET=200.200.200.201 /30
IN_INTERFACE=eth0
IN_INET=1.1.1.1
GATE=200.200.200.201/30

#policy initilize

iptables -F
iptables -t nat -F
iptables -t mangle -F
iptables -X
iptables -t nat -X
iptables -t mangle -X
#DEFAULT POLICY
iptables --policy  INPUT DROP
iptables --policy  OUTPUT DROP
iptables --policy  FORWARD DROP

#iptables -t nat --policy PREROUTING DROP
#iptables -t nat --policy OUTPUT DROP
#iptables -t nat --policy POSTROUTING DROP
#iptables -t mangle --policy PREROUTING DROP
#iptables -t mangle --policy OUTPUT DROP

#RUN DNS

iptables -A OUTPUT -o $EX_INTERFACE -p udp \
          -s  $EX_INET --sport  53 \
          -d  $GATE  --dport   1024:65535 \
          -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

iptables -A INPUT -i $IN_INTERFACE -p udp   --sport  53 \
         -d $IN_INET  --dport  53\
         -j ACCEPT

#iptables -A INPUT -i $IN_INTERFACE -p tcp  --sport 53 \
#        -d $IN_NET --dport  53 \
#        -j ACCEPT

iptables -A OUTPUT -o $EX_INTERFACE -p udp  -s $EX_INET  --sport  53 \
         -d $EX_INET  --dport  53 \
         -j ACCEPT

iptables -A INPUT -i $EX_INTERFACE -p udp \
        -s $EX_INET  --sport  53 \
        -d $EX_INET  --dport  53\
       -j ACCEPT

#DEFINE SSH

iptables -A INPUT -i  lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

iptables -A INPUT -i $IN_INTERFACE -p tcp   --dport 22 --sport 1024:65535\
         -m state --state ESTABLISHED,NEW,RELATE  -j ACCEPT

iptables -A INPUT  -i $IN_INTERFACE -p tcp  --dport 22 --sport 1024:65535\
         -j ACCEPT

iptables -A OUTPUT -o $IN_INTERFACE -p tcp --sport 22  --dport 1024:65535\
         -j ACCEPT

结果整个服务器处于不工作状态 ,好像 只执行了 默认的 DROP策略,别的都没用,请高手指教

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

℡寂寞咖啡 2022-10-05 09:49:39

似乎是 tcp/ip 双向回应的老问题。

建议请阅读 iptables faq 文章。

http://linux.chinaunix.net/bbs/v ... &extra=page%3D1

--

有深☉意 2022-10-05 09:49:39

加了上文提到的规则,还是不行

我把 INPUT
        OUTPUT
       FORWARD 的 都添加了,还是不行.

句子 如下

iptable -A INPUT  -i eth0 -m state --state NEW,ESTABLISH,RELATED -j ACCEPT.

请高手在指教啊 谢谢

茶底世界 2022-10-05 09:49:39

原帖由 shijing 于 2007-1-20 22:13 发表于 3楼  
加了上文提到的规则,还是不行

我把 INPUT
        OUTPUT
       FORWARD 的 都添加了,还是不行.

句子 如下

iptable -A INPUT  -i eth0 -m state --state NEW,ESTABLISH,RELATED -j ACCEPT.

...

1. 这个 rule 的意义用途似乎不明,NEW,ESTABLISH,RELATED 都接受,这个...

2. dns port 配置部份,client 端使用对你主机查询资料,source port 不一定是 port 53,

3. -P OUTOUT DROP,其实似乎不大必要... 因为 自己连出去也设防,不嫌麻烦吗... ?

在 -P OUTPUT DROP 部份配置上,一般我会建议新手不要老是爱用 -P INPUT DROP 甚至是用 -P OUTPUT DROP,因为观念不清楚配置结果都是网络不通。

该配置部份,建议的有:

1. 只有愿意开放允许被存取连线服务,请参考 iptables faq 文章内第 11 点内容 "有无建议本机 firewall 服务只有开放对外项目,其余禁止的配置方式" 叙述。

2. 坚持要使用 -P OUTPUT DROP 配置,那请参阅 iptables faq 文章第 10 点内容 "使用 -P OUTPUT DROP 引起的网路不通问题"。

提供给你参考.

--

[ 本帖最后由 kenduest 于 2007-1-21 03:08 编辑 ]

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文