博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ubuntu下iptables的用法
阅读量:6954 次
发布时间:2019-06-27

本文共 4149 字,大约阅读时间需要 13 分钟。

hot3.png

Ubuntu默认安装是没有开启任何防火墙的,为了服务器的安全,建议大家安装启用防火墙设置,这里推荐使用iptables防火墙.如果mysql启本地使用,可以不用打开3306端口.

 

# whereis iptables #查看系统是否安装防火墙可以看到:

iptables: /sbin/iptables /usr/share/iptables /usr/share/man/man8/iptables.8.gz #表示已经安装iptablesapt-get install iptables #如果默认没有安装,请运行此命令安装防火墙

# iptables -L #查看防火墙配置信息,显示如下:

Chain INPUT (policy ACCEPT)target prot opt source destinationChain FORWARD (policy ACCEPT)target prot opt source destinationChain OUTPUT (policy ACCEPT)target prot opt source destination

# vi /etc/iptables.rules

添加以下内容(备注:80是指web服务器端口,3306是指MySQL数据库链接端口,22是指SSH远程管理端口.)

*filter:INPUT DROP [0:0]:FORWARD ACCEPT [0:0]:OUTPUT ACCEPT [0:0]:syn-flood - [0:0]-A INPUT -i lo -j ACCEPT-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT-A INPUT -p tcp -m state --state NEW -m tcp --dport 443 -j ACCEPT-A INPUT -p icmp -m limit --limit 100/sec --limit-burst 100 -j ACCEPT-A INPUT -p icmp -m limit --limit 1/s --limit-burst 10 -j ACCEPT-A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -j syn-flood-A INPUT -j REJECT --reject-with icmp-host-prohibited-A syn-flood -p tcp -m limit --limit 3/sec --limit-burst 6 -j RETURN-A syn-flood -j REJECT --reject-with icmp-port-unreachableCOMMIT

# iptables-restore < /etc/iptables.rules #使防火墙规则生效

# vi /etc/network/if-pre-up.d/iptables #创建文件,添加以下内容,使防火墙开机启动

#!/bin/bashiptables-restore < /etc/iptables.rules

# chmod +x /etc/network/if-pre-up.d/iptables #添加执行权限

# iptables -L -n查看规则是否生效.

参考:

http://abublog.com/ubuntu_iptables.html

查看

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

参考:

http://blog.sina.com.cn/s/blog_537517170102vkpy.html

http://abublog.com/ubuntu_iptables.html

http://blog.csdn.net/just_young/article/details/47816387

http://blog.csdn.net/renwotao2009/article/details/51225359

转载于:https://my.oschina.net/u/1260221/blog/825238

你可能感兴趣的文章
静态路由管理距离问题
查看>>
汽车常识全面介绍 - 引擎概论
查看>>
Android源码个个击破之Activity的渲染过程深入剖析
查看>>
C# 免费发邮件
查看>>
final关键字
查看>>
《Java程序员面试宝典》学习笔记(数据结构部分)
查看>>
[转载] 中华典故故事(孙刚)——29 拍马屁
查看>>
[转载] Discrete Mathematics——06 集合代数
查看>>
018,idea 下 如何集成 generator
查看>>
Java集合之队列和栈
查看>>
关于Oracle的一些学习简单知识
查看>>
基于Spring MVC框架的Http流程分析
查看>>
ios翻译
查看>>
《技术范儿》NO.3:畅谈数字时代存储变革之数据管理 ——随堂笔记
查看>>
grep
查看>>
保险数据调整结转前后处理
查看>>
大型网站技术架构(四)网站的高性能架构
查看>>
Mysql学习总结(11)——MySql存储过程与函数
查看>>
ubuntu增加swap空间
查看>>
命令 cd
查看>>