iptable 详解_iptable详解-阿里云开发者社区

查看iptables状态-重启

iptables 所在目录 /etc/sysconfig/iptables

service iptables status 查看iptables状态

service iptables restart iptables服务重启

service iptables stop 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及该账号

代码:

#删除原来 iptables 里面已经有的规则

iptables -F

iptables -X

#抛弃所有不符合三种链规则的数据包

iptables -P INPUT DROP

iptables -P OUTPUT DROP

iptables -P FORWARD DROP

#设置:本地进程 lo 的 INPUT 和 OUTPUT 链接 ; eth1的INPUT链

iptables -A INPUT -i lo -j ACCEPT

iptables -A INPUT -i eth1 -m state --state ESTABLISHED,RELATED -jACCEPT

iptables -A INPUT -i eth1 -m state --state NEW,INVALID -j LOG

iptables -A OUTPUT -o lo -j ACCEPT

#对其他主要允许的端口的 OUTPUT设置:

# DNS

iptables -A OUTPUT -o eth1 -p TCP --sport 1024:65535 --dport 53 -jACCEPT

iptables -A OUTPUT -o eth1 -p UDP --sport 1024:65535 --dport 53 -jACCEPT

#HTTP

iptables -A OUTPUT -o eth1 -p TCP --sport 1024:65535 --dport 80 -jACCEPT

#HTTPS

iptables -A OUTPUT -o eth1 -p TCP --sport 1024:65535 --dport 443 -jACCEPT

#Email 接受 和发送

iptables -A OUTPUT -o eth1 -p TCP --sport 1024:65535 --dport 110 -jACCEPT

iptables -A OUTPUT -o eth1 -p TCP --sport 1024:65535 --dport 25 -jACCEPT

# FTP 数据和控制

iptables -A OUTPUT -o eth1 -p TCP --sport 1024:65535 --dport 20 -jACCEPT

iptables -A OUTPUT -o eth1 -p TCP --sport 1024:65535 --dport 21 -jACCEPT

#DHCP

iptables -A OUTPUT -o eth1 -p TCP --sport 1024:65535 --dport 68 -jACCEPT

iptables -A OUTPUT -o eth1 -p UDP --sport 1024:65535 --dport 68 -jACCEPT

#POP3S Email安全接收

iptables -A OUTPUT -o eth1 -p TCP --sport 1024:65535 --dport 995 -jACCEPT

#时间同步服务器 NTP

iptables -A OUTPUT -o eth1 -p TCP --sport 1024:65535 --dport 123 -jACCEPT

#拒绝 eth1 其他剩下的

iptables -A OUTPUT -o eth1 --match state --state NEW,INVALID -jLOG

最后是有关于iptables存储的命令:

代码:

iptables-save >/etc/iptables.up.rule # 存在你想存的地方

代码:

iptables-restore

因为iptables 在每次机器重新启动以后,需要再次输入或者调用,为了方便操作,使用

代码:

sudo gedit /etc/network/interfaces

代码:

auto ath0

iface ath0 inet dhcp

后面加上

代码:

pre-up iptables-restore

代码:

post-down iptables-save >/etc/iptables.up.rule #关机时,把当前iptables 储存

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值