请教老鸟:在NIS和NFS服务器上配iptalbes,怎么这么难啊?

发布于 2022-10-03 19:14:21 字数 1028 浏览 16 评论 0

我的AS4(2.6.9)上面有NIS和NFS,对于iptables来说怎么办?

以下是我写的,用了之后NIS和NFS都不能用了,取消IPTABLES之后,NIS和NFS就恢复正常,求解.....

#/bin/bash
#20051096 REDHAT AS4 2.6.9
#防火墙设置

#普通端口
open_ports="80 53 5353"
#特殊端口
open_port="22 111 2049 12346 5800 5900 5801 5901 4000 4001 4002"
#特殊IP
ip_add="210.71.165.0/24 192.168.1.0/24"

#初始化防火墙
iptables -F
iptables -X

#丢弃所有进入的数据包
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -A INPUT -p ICMP -j DROP

for port2 in $open_ports ; do
iptables -A INPUT -p tcp --dport $port2 -j ACCEPT
iptables -A INPUT -p udp --dport $port2 -j ACCEPT
done

for port1 in $open_port ; do
for ip in $ip_add ; do
iptables -A INPUT -s $ip -p tcp --dport $port1 -j ACCEPT
iptables -A INPUT -s $ip -p udp --dport $port1 -j ACCEPT
done
done

#丢弃所有不匹配的数据包
iptables -A INPUT -j DROP

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

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

发布评论

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

评论(9

伪装你 2022-10-10 19:14:21

因為 rpc program 都是透過 portmap 來註冊 port number 的, 而且是動態性變更的.
你得跑一下 rpcinfo -p 來確定哪些 port 要開, 然後還要定期檢查, 以作修改.
這些工作, 最好是交給 shell script 來完成了.

蓝天 2022-10-10 19:14:21

大哥,我这是个菜鸟啊,哪里有这样的东西啊,我要晕掉了

栖竹 2022-10-10 19:14:21

可以试着用 state , 我没试过 nfs. 因为很少人在外网用 nfs. 也很少人在内网内设个 firewall 的.

长途伴 2022-10-10 19:14:21

回ql208c:
    大侠,你说的这个STATE,是IPTABLES的一个模块吧?

倾城泪 2022-10-10 19:14:21

LZ 的 script 沒用 state 是一個缺失,
但對 rpc 的幫助不大.

我參考LZ的原本 script 修改如下:

  1. #/bin/bash
  2. open_ports="80 53 5353"
  3. open_port="22 2049 12346 5800 5900 5801 5901 4000 4001 4002"
  4. rpc_ports=$(rpcinfo -p | awk '{print $4}' | grep -v '[^0-9]' | sort -u)
  5. ip_add="210.71.165.0/24 192.168.1.0/24"
  6. iptables -F
  7. iptables -X
  8. iptables -P INPUT ACCEPT
  9. iptables -P OUTPUT ACCEPT
  10. iptables -A INPUT -p ICMP -j DROP
  11. iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
  12. iptables -A INPUT -i lo -j ACCEPT
  13. for port2 in $open_ports ; do
  14. iptables -A INPUT -p tcp --dport $port2 -j ACCEPT
  15. iptables -A INPUT -p udp --dport $port2 -j ACCEPT
  16. done
  17. for port1 in $open_port $rpc_ports; do
  18.   for ip in $ip_add ; do
  19.         iptables -A INPUT -s $ip -p tcp --dport $port1 -j ACCEPT
  20.         iptables -A INPUT -s $ip -p udp --dport $port1 -j ACCEPT
  21.   done
  22. done
  23. iptables -A INPUT -j DROP

复制代码

乖乖 2022-10-10 19:14:21

回网中人:
    太感谢你了,你的代码我很认同,但有几点不明处,还请相告:
    1、iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
       这一句是什么意思啊?我太菜了。。。
    2、iptables -A INPUT -i lo -j ACCEPT
       这句是不是只允许来自“LO”这个设备的数据包啊?我在放在IDC ,我想这个就不必了吧?

萝莉病 2022-10-10 19:14:21

原帖由 "zyangj" 发表:
回网中人:
    太感谢你了,你的代码我很认同,但有几点不明处,还请相告:
    1、iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
       这一句是什么意思啊?我太菜了。。。
    2、ipt..........

1.建议在网上搜索iptables手册看一下.
2.不建议在外网使用NFS/NIS,小心安全问题.

忆依然 2022-10-10 19:14:21

我也知道有危险啊,但是有这样的需要啊,我现在是通过这种方式管理几台同时在IDC的机器,不知哪位有好方法,将几台机器上面的空间融合在一起,达到在逻辑上就像一个目录一样,但实际中却是来自几台机器的空间,听别人说是网络文件系统,不知可行否?

待天淡蓝洁白时 2022-10-10 19:14:21

大侠们,快帮我看看,我的防火墙是这样设的,为什么还是不能使用RPC进行通信啊?

open_ports="80 53 5353"
open_port="22 12346 5800 5801 5900 5901"

#rpc_ports=$(rpcinfo -p | awk '{print $4}' | grep -v '[^0-9]' | sort -u)
#rpc_ports=$(rpcinfo -p |grep p|cut -c24-28|sort|uniq)

ip_add="210.11.165.0/24 231.68.0.0/16 192.168.1.0/24"

iptables -F
iptables -X

iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -A INPUT -p ICMP -j DROP

rpc_ports=$(rpcinfo -p | awk '{print $4}' | grep -v '[^0-9]' | sort -u)

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i eth0 -j ACCEPT

for port2 in $open_ports ; do
iptables -A INPUT -p tcp --dport $port2 -j ACCEPT
iptables -A INPUT -p udp --dport $port2 -j ACCEPT
done

for port1 in $open_port $rpc_ports ; do
for ip in $ip_add ; do
iptables -A INPUT -s $ip -p tcp --dport $port1 -j ACCEPT
iptables -A INPUT -s $ip -p udp --dport $port1 -j ACCEPT
done
done

iptables -A INPUT -j DROP

另外,我如果要把这个加在后台每过几分钟自动执行一次,为什么加在/etc/crontab里面,总是不能正常执行啊?总有邮件通知IPTABLES命令不存在,难道要在这个iptales.sh脚本里面加上命令地址?

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