首页 » 资料 » Debian下iptables的用法

Debian下iptables的用法

 

启动iptables

modprobe ip_tables

关闭iptables(关闭命令要比启动复杂)

iptalbes -F

iptables -X

iptables -Z

iptables -P INPUT ACCEPT

iptables -P OUTPUT ACCEPT

iptables -P FORWARD ACCEPT

modprobe -r ip_tables

依次执行以上命令即可关闭iptables,否则在执行modproble -r ip_tables时将会提示  FATAL: Module ip_tables is in use.



iptables -L -n

iptables -F 清除预设表filter中的所有规则链的规则
iptables -X 清除预设表filter中使用者自定链中的规则


iptables -L -n

#抛弃所有不符合三种链规则的数据包
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

#设置:本地进程 lo  的 INPUT 和 OUTPUT 链接 ; eth0的INPUT链
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -jACCEPT
iptables -A INPUT -i eth0 -m state --state NEW,INVALID -j LOG
iptables -A OUTPUT -o lo -j ACCEPT

#开放22端口ssh
iptables -A INPUT -p tcp -i eth0 --dport ssh -j ACCEPT

#开放80端口web
iptables -A INPUT -p tcp -i eth0 --dport 80 -j ACCEPT

#开放21、20端口ftp
iptables -A INPUT -p tcp --dport 20 -j ACCEPT
iptables -A INPUT -p tcp --dport 21 -j ACCEPT

#开放其他一些端 口  
iptables -A INPUT -p tcp --dport 1935 -j ACCEPT
iptables -A INPUT -p tcp --dport 8080 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT

#同上,开放需要端口的出口
iptables -A OUTPUT -p tcp --sport 1935 -j ACCEPT
。。。。
。。。。
。。。。

# 如使用vsftpd 使用了pasv 方式,如 pasv_min_port=6000  mx=7000  pasv_enable=YES之类
iptables -A INPUT -p tcp --dport 6000:7000 -j ACCEPT
iptables -A OUTPUT -p TCP --sport 6000:7000 -j ACCEPT
# 2个都要设,只设第一个不能下载,只设第二个不能上传

#限制 .37 可以连接哪些端 口,
iptables -A INPUT -s 192.168.0.37 -p tcp --dport 21 -j ACCEPT
iptables -A INPUT -s 192.168.0.37 -p tcp --dport 20 -j ACCEPT

#注:因上方设置的iptables -A INPUT -p tcp --dport 20 -j ACCEPT   iptables -A INPUT -p tcp --dport 21 -j ACCEPT
#允许开放20.21到所有用户
#所以要删除掉该规则
iptables -D INPUT -p tcp --dport 20 -j ACCEPT
iptables -D INPUT -p tcp --dport 21 -j ACCEPT


#允许loopback!(不然会导致DNS无法正常关闭等问题)

IPTABLES -A INPUT -i lo -p all -j ACCEPT (如果是INPUT DROP)

IPTABLES -A OUTPUT -o lo -p all -j ACCEPT(如果是OUTPUT DROP)



#将以上规则保存到 文件 sudo 是不行的,需要root权限(没有设过的话, sudo passwd root 输入新的root密码即可。 然后su )
iptables-save > /etc/iptables.up.rules

修改 /etc/network/interfaces 脚本自动应用这些规则(末行是添加的)

auto eth0
iface eth0 inet dhcp
pre-up iptables-restore <  /etc/iptables.up.rules
post-down iptables-save >/etc/iptables.up.rules #关机时,把当前iptables 储存

附 vsftpd.conf  主要项
listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
pasv_min_port=6000
pasv_max_port=7000
pasv_enable=YES
ls_recurse_enable=YES
local_umask=022
file_open_mode=0755

这个FTP只供于管理员进行管理及上传工作,因此本地账号权限较大,要注意。
在/etc/vsftpd.chroot_list  只放root及该账号!

 

原文链接:Debian下iptables的用法,转载请注明来源!

0