2019独角兽企业重金招聘Python工程师标准>>>

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

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

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

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

Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain 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-unreachable
COMMIT

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

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

#!/bin/bash
iptables-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

ubuntu下iptables的用法相关推荐

  1. ubuntu下shutter的用法

    shutter快捷键 shutter -s 选择区域截屏 shutter -a 截取当前活动窗口 自己设置的截屏快捷键是 Ctrl +alt +a

  2. Ubuntu下使用UFW配置防火墙(简化iptables的操作)

    UFW全称为Uncomplicated Firewall,是Ubuntu系统上配置iptables防火墙的工具.UFW提供一个非常友好的命令用于创建基于IPV4,IPV6的防火墙规则. 但是,UFW是 ...

  3. dpkg命令用法、Ubuntu下deb包的解压、打包、安装、卸载及常用命令参数

    dpkg命令的用法 不带图简装:https://blog.csdn.net/wanghuohuo13/article/details/78916821?ops_request_misc=&re ...

  4. Ubuntu下crontab命令的用法

    首先给大家分享一个巨牛巨牛的人工智能教程,是我无意中发现的.教程不仅零基础,通俗易懂,而且非常风趣幽默,还时不时有内涵段子,像看小说一样,哈哈-我正在学习中,觉得太牛了,所以分享给大家!点这里可以跳转 ...

  5. 【Ubuntu用法】ubuntu下源码安装OpenSSH

    由于OpenSSH依赖于openssl,因此先安装openssl openssl安装流程 下载openssl源码 openssl下载的地址为:https://www.openssl.org/sourc ...

  6. Ubuntu下使用UFW配置防火墙

    Ubuntu下使用UFW配置防火墙(简化iptables的操作) UFW全称为Uncomplicated Firewall,是Ubuntu系统上配置iptables防火墙的工具.UFW提供一个非常友好 ...

  7. Ubuntu 下安装thttpd Web服务器

    不知道大家是不是真的需要用appache这么复杂的功能这么强大的web server,其实有很多时候使用webserver也只是一种远程共享访问的方式.这里,Ubuntu repository的提供了 ...

  8. 烂泥:ubuntu下配置msmtp+mutt发送邮件

    2019独角兽企业重金招聘Python工程师标准>>> 本文由ilanniweb提供友情赞助,首发于烂泥行天下 想要获得更多的文章,可以关注我的微信ilanniweb. 本文主要介绍 ...

  9. Ubuntu下用matplotlib作图时显示中文

    之前在Ubuntu下用matplotlib作图的时候发现无法正常显示中文,查了一番以后发现是Ubuntu系统和matplotlib库没有共同可显示的中文字体库的原因.用此文章的方法可以解决这一问题. ...

  10. 搭建Ubuntu下c/c++编译环境【转】

    1.       安装Ubuntu. 2.       安装gcc 方法一: sudo apt-get  install  build-essential 安装完了可以执行 gcc--version的 ...

最新文章

  1. 注意!Apache下这些与Hadoop相关的开源项目要退休了!
  2. PostgreSQL入门篇学习笔记(七)
  3. SystemInit时钟系统初始化函数剖析
  4. Mac Apache 开启对php支持
  5. 大龄程序员的未来在何方
  6. 数组(Array)的常用方法
  7. 高德地图时间和实际差多少_高德打车,谁用谁上当,谁用谁吃亏
  8. 王守臣 | 文字不灭:省的钱,分一半
  9. 数据增强操作(旋转、翻转、裁剪、色彩变化、高斯噪声等)
  10. python 经典图书排行榜_书榜 | 计算机书籍(1.7-1.13)销售排行榜
  11. 用命令提示符打开MySQL并编译sql语句
  12. 云计算技术概述与入门
  13. linux驱动开发总体结构,设备结构体分析
  14. 基于人脸识别的课堂签到管理系统【学习三】
  15. 韩国飞中国机票炒至近万元,一票难求
  16. 根据身高体重计算某个人的BMI值
  17. 数据恢复软件在苹果电脑上的应用
  18. 数据库总结作业数据库设计七
  19. 斐讯路由器设置linux,Windows10系统怎么给斐讯K3路由器开启Telnet
  20. C++ 插件机制的实现原理、过程、及使用

热门文章

  1. radio按钮样式美化和checkbox按钮样式美化
  2. Spring之AntPathMatcher
  3. Sql Sever 注册服务器 [SQL Server]
  4. 如何使用GetParent来得到父对话框的指针
  5. 《基于Nginx的中间件架构》学习笔记---3.nginx的目录分析
  6. 左神-05 二分搜索(多看几遍)
  7. 【2017-3-17】视图,事务,备份还原,分离附加
  8. 【代码笔记】iOS-竖状图
  9. 阅历总结:运用IBM DB2数据库的详细事变
  10. 不同数据库之间的独立性