[问题] iptables配置,请高手给予指点
- wdb2005
- 帖子: 92
- 注册时间: 2007-02-23 18:45
[问题] iptables配置,请高手给予指点
通过看wiki,不是很明白,将我的配置过程设计如下,请高手给予指正。我的服务器提供WEB、FTP、SSH服务。
因为网站在运行,不敢瞎试。我是新手。
iptables -F
iptables -X
#初始化
iptables -P INPUT DROP
#禁止所有连入的请求
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 20 -j ACCEPT
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
#开启80、20-22端口,对应的WEB、FTP、SSH服务。
iptables-save > /etc/iptables.up.rule
#存储当前的iptables的配置到/etc下。
sudo gedit /etc/network/interfaces
#编辑网卡配置
pre-up iptables-restore < /etc/iptables.up.rules
#在配置文件最后加上这一句,启动自动调用已存储的iptables
post-down iptables-save > /etc/iptables.up.rule
#在配置文件最后加上这一句,关机时,把当前iptables 储存
因为网站在运行,不敢瞎试。我是新手。
iptables -F
iptables -X
#初始化
iptables -P INPUT DROP
#禁止所有连入的请求
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 20 -j ACCEPT
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
#开启80、20-22端口,对应的WEB、FTP、SSH服务。
iptables-save > /etc/iptables.up.rule
#存储当前的iptables的配置到/etc下。
sudo gedit /etc/network/interfaces
#编辑网卡配置
pre-up iptables-restore < /etc/iptables.up.rules
#在配置文件最后加上这一句,启动自动调用已存储的iptables
post-down iptables-save > /etc/iptables.up.rule
#在配置文件最后加上这一句,关机时,把当前iptables 储存
-
- 帖子: 49
- 注册时间: 2008-05-09 0:16
- 联系:
- yjcong
- 帖子: 2470
- 注册时间: 2006-02-28 3:11
Re: [问题] iptables配置,请高手给予指点
问楼主, 怎么用iptables控制连出的端口??wdb2005 写了:通过看wiki,不是很明白,将我的配置过程设计如下,请高手给予指正。我的服务器提供WEB、FTP、SSH服务。
因为网站在运行,不敢瞎试。我是新手。
iptables -F
iptables -X
#初始化
iptables -P INPUT DROP
#禁止所有连入的请求
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 20 -j ACCEPT
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
#开启80、20-22端口,对应的WEB、FTP、SSH服务。
iptables-save > /etc/iptables.up.rule
#存储当前的iptables的配置到/etc下。
sudo gedit /etc/network/interfaces
#编辑网卡配置
pre-up iptables-restore < /etc/iptables.up.rules
#在配置文件最后加上这一句,启动自动调用已存储的iptables
post-down iptables-save > /etc/iptables.up.rule
#在配置文件最后加上这一句,关机时,把当前iptables 储存
-
- 帖子: 198
- 注册时间: 2006-04-28 21:31
Re: [问题] iptables配置,请高手给予指点
就策略而言,没什么问题。只是你的内网外网不分。ssh 你最好还是限制连入的IP (或者用 VPN),要不你就等着别人孜孜不倦的用字典暴力攻击吧。wdb2005 写了:通过看wiki,不是很明白,将我的配置过程设计如下,请高手给予指正。我的服务器提供WEB、FTP、SSH服务。
因为网站在运行,不敢瞎试。我是新手。
iptables -F
iptables -X
#初始化
iptables -P INPUT DROP
#禁止所有连入的请求
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 20 -j ACCEPT
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
#开启80、20-22端口,对应的WEB、FTP、SSH服务。
iptables-save > /etc/iptables.up.rule
#存储当前的iptables的配置到/etc下。
sudo gedit /etc/network/interfaces
#编辑网卡配置
pre-up iptables-restore < /etc/iptables.up.rules
#在配置文件最后加上这一句,启动自动调用已存储的iptables
post-down iptables-save > /etc/iptables.up.rule
#在配置文件最后加上这一句,关机时,把当前iptables 储存
Linux强悍的地方在于命令行,图形界面是它的弱项,所以那些图形化的工具基本上都是鸡肋。
如果你的主机处理器在奔三级别以上,你可以用shorewall。偶的防火墙就一 200兆HZ MIPS 处理器跑shorewall 太吃力只能用iptables.
正在看QoS, 先忙去了。
- wdb2005
- 帖子: 92
- 注册时间: 2007-02-23 18:45
-
- 帖子: 198
- 注册时间: 2006-04-28 21:31
-
- 帖子: 198
- 注册时间: 2006-04-28 21:31
自己编辑内核,有时候经常少编了内核模块进去。到要用的时候只好抓狂。wdb2005 写了:我倒想自己编译内核,关键没那能耐,呵呵
我的服务器一块网卡,配置了两个IP,一个做WEB,一个做FTP
帮你改了一下:
代码: 全选
#!/bin/bash
IPTABLES=/sbin/iptables
$IPTABLES -F
$IPTABLES -F -t nat
$IPTABLES -F -t mangle
$IPTABLES -X
$IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -P INPUT ACCEPT
$IPTABLES -P OUTPUT ACCEPT
$IPTABLES -P FORWARD ACCEPT
$IPTABLES -A INPUT -m multiport -p tcp --dport 20:21 -j LOG --log-prefix "网路接入..FTP.. "
$IPTABLES -A INPUT -p tcp --dport 22 -j LOG --log-prefix "网路接入..SSH.. "
$IPTABLES -A INPUT -p tcp --dport 80 -j LOG --log-prefix "网路接入..HTTP.. "
$IPTABLES -A INPUT -m multiport -p tcp --dport 20:22,80 -j ACCEPT
$IPTABLES -A INPUT DROP
$IPTABLES -A FORWARD DROP
echo 1 > /proc/sys/net/ipv4/ip_forward
echo "[+] iptables policy activated"
tail -f /var/log/syslog
如果有人链接到你服务器上那些指定的服务的话,系统日志会显示详细的链接信息。
- wdb2005
- 帖子: 92
- 注册时间: 2007-02-23 18:45
我可能说得不对啊,我对你的配置提点疑问
1、iptables是从上往下执行的,我看了好几个配置都是先禁止所有联接,然后允许需要打开的连接,你在最后禁止了所有的连接,是不是最后全部禁止连接了。(从网上看资料自己理解的)你之所以这么设是不是在这之前的三个允许全部通过设置起作用?
2、我想知道你为什么不设 iptables -P OUTPUT DROP 呢?
3、有三个设置后面你写了注释,但这之后的一条设置允许20.22.80是为什么?这之前你不是已经允许20.21.22.80通过了吗?最好你能将每条设置后面都加个注释最好了,我好多没看明白,尤其是最后两条。
第一次搞iptables,问的问题你别见笑啊
1、iptables是从上往下执行的,我看了好几个配置都是先禁止所有联接,然后允许需要打开的连接,你在最后禁止了所有的连接,是不是最后全部禁止连接了。(从网上看资料自己理解的)你之所以这么设是不是在这之前的三个允许全部通过设置起作用?
2、我想知道你为什么不设 iptables -P OUTPUT DROP 呢?
3、有三个设置后面你写了注释,但这之后的一条设置允许20.22.80是为什么?这之前你不是已经允许20.21.22.80通过了吗?最好你能将每条设置后面都加个注释最好了,我好多没看明白,尤其是最后两条。
第一次搞iptables,问的问题你别见笑啊
-
- 帖子: 198
- 注册时间: 2006-04-28 21:31
1. iptables 规则是有先后顺序的,最先启用的规则有优先权(即先被执行)。如果有两条规则相抵触那么根据最先执行的规则为准。我这里说的是规则而不是默认的策略(-P)wdb2005 写了:我可能说得不对啊,我对你的配置提点疑问
1、iptables是从上往下执行的,我看了好几个配置都是先禁止所有联接,然后允许需要打开的连接,你在最后禁止了所有的连接,是不是最后全部禁止连接了。(从网上看资料自己理解的)你之所以这么设是不是在这之前的三个允许全部通过设置起作用?
2、我想知道你为什么不设 iptables -P OUTPUT DROP 呢?
3、有三个设置后面你写了注释,但这之后的一条设置允许20.22.80是为什么?这之前你不是已经允许20.21.22.80通过了吗?最好你能将每条设置后面都加个注释最好了,我好多没看明白,尤其是最后两条。
第一次搞iptables,问的问题你别见笑啊
2. 为什么我不设这个默认的“出”策略。所有的沟通都是双向的,所以有进无出只是监听机器人的行为。
3. 注释仅仅是注释,它不具有允许或者阻止连接的功能。
令:倒数第两条是允许网络连结的再传递,你的box即不做gateway 也不做 路由 我觉得你暂时用不到。最后一条是提示你该脚本执行完毕。
- wdb2005
- 帖子: 92
- 注册时间: 2007-02-23 18:45
-
- 帖子: 198
- 注册时间: 2006-04-28 21:31
在上封回复我已经解释的很清楚了。前三句用来做日志记录,最后一句是真正的允许规则.wdb2005 写了:$IPTABLES -A INPUT -m multiport -p tcp --dport 20:21 -j LOG --log-prefix
$IPTABLES -A INPUT -p tcp --dport 22 -j LOG --log-prefix
$IPTABLES -A INPUT -p tcp --dport 80 -j LOG --log-prefix
这三条与下面这条设置是什么关系啊?能解释一下吗?
$IPTABLES -A INPUT -m multiport -p tcp --dport 20:22,80 -j ACCEPT
- wdb2005
- 帖子: 92
- 注册时间: 2007-02-23 18:45