首页 > Ubuntu/Debian操作系统 > Debian 配置防火墙 iptables

Debian 配置防火墙 iptables

2015年10月18日

Debian 配置防火墙 iptables
http://blog.sina.com.cn/s/blog_54c5f9c50100mrzr.html

把下述命令写在firewall.sh文件中:

# vim /etc/firewall.sh

iptables -F
iptables -N FIREWALL
iptables -F FIREWALL
iptables -A INPUT -j FIREWALL
iptables -A FORWARD -j FIREWALL
iptables -A FIREWALL -p tcp -m tcp –dport 110 –syn -j ACCEPT
iptables -A FIREWALL -p tcp -m tcp –dport 80 –syn -j ACCEPT

#webmin
iptables -A FIREWALL -p tcp -m tcp –dport 10000 –syn -j ACCEPT

iptables -A FIREWALL -p tcp -m tcp –dport 22 –syn -j ACCEPT
iptables -A FIREWALL -i lo -j ACCEPT
iptables -A FIREWALL -p udp -m udp –sport 53 -j ACCEPT

iptables -A FIREWALL -p tcp -m tcp –syn -j REJECT
iptables -A FIREWALL -p udp -m udp -j REJECT

然后:
# chmod 755 /etc/firewall.sh

继续, 把firewall.sh加到启动中 :
# echo sh /etc/firewall.sh >> /etc/init.d/rc.local

这样Debian就加了放火墙了, 做起来都算是几简单, 感觉上用iptables在Linux做放火墙不难,当然是简单的了,复杂的还是要细细研究。

清空指令: iptables -F
查看指令: iptables -L

From: http://www.jansfer.com/200609/26/archive_272/

rh下面的防火墙设置是保存在/etc/sysconfig/iptables文件中的,这样每次重启都会恢复防火墙设置。
\r\n

debian木有这个文件,但是他提供了更加灵活的方式。
http://www.debian.org/doc/manuals/securing-debian-howto/ch-sec-services.en.html#s-firewall-setup
\r\n

看了下,似乎比较简单的就是设置interfaces文件了。

可以去http://easyfwgen.morizot.net/gen/ 在线生成一个防火墙脚本,然后pre-up指定一下
From: http://hi.baidu.com/pcabc/blog/item/c8feaad29a45a733960a1627.html
由于iptable配置很麻烦, 所以将一些简单的配置信息放在这里, 已被以后使用

防火墙配置

要保证服务器安全,防火墙是少不了的,用 root 帐号执行:

iptables -F
iptables -N FIREWALL
iptables -F FIREWALL
iptables -A INPUT -j FIREWALL
iptables -A FORWARD -j FIREWALL
iptables -A FIREWALL -p tcp -m tcp –dport 993 –syn -j ACCEPT
iptables -A FIREWALL -p tcp -m tcp –dport 995 –syn -j ACCEPT
iptables -A FIREWALL -p tcp -m tcp –dport 110 –syn -j ACCEPT
iptables -A FIREWALL -p tcp -m tcp –dport 143 –syn -j ACCEPT
iptables -A FIREWALL -p tcp -m tcp –dport 80 –syn -j ACCEPT
iptables -A FIREWALL -p tcp -m tcp –dport 443 –syn -j ACCEPT
iptables -A FIREWALL -p tcp -m tcp –dport 465 –syn -j ACCEPT
iptables -A FIREWALL -p tcp -m tcp –dport 22 –syn -j ACCEPT
iptables -A FIREWALL -p tcp -m tcp –dport 25 –syn -j ACCEPT
iptables -A FIREWALL -i lo -j ACCEPT
iptables -A FIREWALL -p udp -m udp –sport 53 -j ACCEPT
iptables -A FIREWALL -p udp -m udp –dport 161 -j ACCEPT
iptables -A FIREWALL -p udp -m udp –sport 6277 -j ACCEPT
iptables -A FIREWALL -p udp -m udp –sport 24441 -j ACCEPT
iptables -A FIREWALL -p tcp -m tcp –syn -j REJECT
iptables -A FIREWALL -p udp -m udp -j REJECT
iptables-save > /etc/firewall-rules
iptables-restore < /etc/firewall-rules
我这里设置的相对宽松一些,22 端口对所有 IP 都开放了,为的是方便管理。161 端口是 snmp 端口,我开这个是为了远程监控,所以是可选项。 6277、24441 这几个端口是 Razor/Pyzor/DCC/SA 要访问的端口。

执行

iptables -L
可以看到你设定的规则,如果不对,可以用 iptables -F 清空,然后重设。

如果想要开机运行,那么编辑 /etc/network/interfaces,在 iface lo inet loopback 之后加入:

pre-up iptables-restore < /etc/firewall-rules
或者是放在启动脚本里: /etc/init.d/bootmisc.sh
这里是iptables的一些资料, 介绍的很详细:
http://man.chinaunix.net/network/iptables-tutorial-cn-1.1.19.html (iptables使用指南)

http://linux.ccidnet.com/pub/html/tech/iptables/index.htm

From: http://www.linuxsir.org/bbs/thread172369.html
代码:

iptables -F
iptables -P INPUT DROP
iptables -A INPUT -p icmp -j ACCEPT
iptables -A INPUT -d 192.168.3.3 -p tcp -m tcp –dport 20:21 -j ACCEPT
iptables -A INPUT -d 192.168.3.3 -p tcp -m tcp –dport 22 -j ACCEPT
iptables -A INPUT -d 192.168.3.3 -p tcp -m tcp –dport 80 -j ACCEPT
iptables -A INPUT -d 192.168.3.3 -p tcp -m tcp –dport 135:139 -j ACCEPT
iptables -A INPUT -d 192.168.3.3 -p tcp -m tcp –dport 3306 -j ACCEPT
iptables -A INPUT -d 192.168.3.3 -p tcp -m tcp –dport 8000 -j ACCEPT
iptables -A INPUT -d 192.168.3.3 -p tcp -m tcp –dport 8080 -j ACCEPT
iptables -A INPUT -i eth0 -m state –state RELATED,ESTABLISHED -j ACCEPT
iptables-save
这是debian服务器的防火墙设置!
这台服务器通过网关端口映射出外网!

但通过外网连接FTP的时候,总是出现连接超时等错误!
是不是我的防火墙有那里设置错误呢?请高手们指点一二!谢谢。。
iptables -A INPUT -i eth0 -m state –state RELATED,ESTABLISHED,NEW -j ACCEPT
试下这样吧

本文的评论功能被关闭了.