iptables简易使用教程
iptables是linux里比较常用的防火墙,也是centos7.0之前的版本默认自带的防火墙。
配置防火墙需特别注意一件事情:如果服务器在异地机房,需要谨慎配置端口,以免造成新配置生效后无法远程登录的惨状。
以下简述一下iptables常用的操作和设置方法。
1.查看iptables运行状态
# 不用操作系统下略有不同
service iptables status
或
systemctl | grep "iptables"
2.查看iptables当前使用的规则
iptables --list
3.iptables默认规则
iptables可以分别对 流入 流出 转发 三种数据包进行端口级的默认规则(接受 or 拒绝)
打开iptables配置文件
vim /etc/sysconfig/iptables
找到 *filter 起始的行
样例:
# 丢弃来自所有端口 流入 的数据包
:INPUT DROP [:]
# 接受来自 2至65535 端口 流出 的数据包
:OUTPUT ACCEPT[:]
# 丢弃来自 5至2048端口 转发 的数据包
:FORWARD DROP [:]
接下来就是一般常规的防火墙规则了
一般常用的参数如下:
# -A 添加一条防火墙规则,后面一般接上 INPUT OUTPUT FORWARD
# -i 指定流量进入的网卡,后面接上网卡名称,如:lo eth0 eth1
# -o 指定流量出口的网卡,后面接上网卡名称,如:lo eth0 eth1
# -j 指定规则的行为,后面一般接上 DROP ACCEPT DENY
# -p 指定应用的协议,如 tcp udp icmp http
# --dport 进入数据包的目标端口,后面接上端口名称
# --sport 出口数据包的源端口,后面接上端口名称
# --state 连接的状态,后面一般接上 NEW ESTABLISHED RELATED
# -s 源ip地址,后面接上发起数据的ip地址
# -d 目标ip地址,后面接上数据包的目标ip地址
常用规则示例:
# 允许来自本机(127.0.0.1)的流入流量 流出流量
-A INPUT -i lo -j ACCEPT
-A OUTPUT -o lo -j ACCEPT # 允许icmp协议的(例如ping,traceroute)数据包,类似ping,不但需要数据流出,也需要数据流入
-A INPUT -p icmp -j ACCEPT
-A OUTPUT -p icmp -j ACCEPT
# 另一种写法
-A INPUT -p icmp --state NEW -j ACCEPT # 允许80端口的所有流量
-A INPUT -p tcp --dport -j ACCEPT
-A OUTPUT -p tcp --sport -j ACCEPT # 拒绝3306端口的所有流量
-A INPUT -p tcp --dport -j DROP
-A OUTPUT -p tcp --sport -j DROP # 只允许来自192.168.1.150的ssh(22端口)连接
-A INPUT -p tcp --dport -s 192.168.1.150 -j ACCEPT
-A OUTPUT -p tcp --sport -d 192.168.1.150 -j ACCEPT
4.保存iptables规则
很多人设置完iptables后,没有保存,或者修改完配置文件后直接执行iptables-save其实都是错的,这样会导致你之前的设置丢失,直接使用iptables-save只适用于通过 iptables -A INPUT -p tcp --dport 3306 -j DROP命令行方式添加的规则进行保存。
简单地说,iptables-save是把当前内存中的iptables规则写入至 /etc/sysconfig/iptables 文件而已。
正确方法是:
先重启iptables
# 不同操作系统有不同
service iptables restart
# 或
systemctl restart iptables
再执行保存
iptables-save
或从不执行iptables-save,只修改配置文件,重启iptables
iptables简易使用教程的更多相关文章
- Git GUI简易使用教程
Git GUI简易使用教程:先上图~~~~~ 一. 先从添加文件开始讲(先上图): 1.选中要添加的文件,点击菜单栏的“提交”,选中“缓存为提交”,
- Android简易实战教程--第五十一话《使用Handler实现增加、减少、暂停计数》
转载博客请注明出处:道龙的博客 之前,写过一篇使用异步任务AysncTask实现倒计时的小案例,喜欢的话可以参考博客:Android简易实战教程--第三十三话< AsyncTask异步倒计时&g ...
- Android简易实战教程--第五十话《动画扫描》
祝新年快乐!2017(一起)前行. 转载博客请注明出处:道龙的博客 本篇简答的小案例,使用动画知识,完成一个类似雷达扫描效果,并且加入自定义进度条.对于自定义进度条前面有很详细的解析和案例了,本篇就结 ...
- Android简易实战教程--第十六话《SharedPreferences保存用户名和密码》
之前在Android简易实战教程--第七话<在内存中存储用户名和密码> 那里是把用户名和密码保存到了内存中,这一篇把用户名和密码保存至SharedPreferences文件.为了引起误导, ...
- Web压力测试工具 LoadRunner12.x简易入门教程--(一)回放与录制
LoadRunner12.x简易入门教程--(一)回放与录制 今天在这里分享一下LoadRunner12.x版本的入门使用方法,希望对刚接触LoadRunner的童鞋有所帮助. LoadRun ...
- Qt QBarSeries简易柱状图教程
博客园最强Qt QBarSeries简易柱状图教程 前情提要 每个人的绘图需求不同,此篇教程也是根据需求来改的.我的需求大概如下所示. 通过信号槽的方式接收signals来刷新柱状图,所以每次触发信号 ...
- Webpack简易入门教程
<!-- 其实网上关于webpack的教程已经很多了,但是本人在学习过程中发现很多教程有错误,或者写的很不全面,结果做的过程出现各种各样的问题,对新手不但不友好还会让人浪费很多不必要的时间.所以 ...
- Lua简易入门教程
环境:lua for windows (lfW)主页:http://luaforwindows.luaforge.net/https://code.google.com/p/luaforwindows ...
- Windows Git+TortoiseGit简易使用教程
转载自 http://blog.csdn.net/jarelzhou/article/details/8256139 官方教程:http://tortoisegit.org/docs/tortoise ...
随机推荐
- input输入框与元素间有间隙
<div class="container"> <button>1</button> <button>2</button> ...
- asp.net几种开源上传控件,flash,ajax版,支持多文件
原文发布时间为:2010-03-18 -- 来源于本人的百度文章 [由搬家工具导入] 1、AspnetUpload 地址:http://www.aspnetupload.net/ 最早接触的上传控件。 ...
- Caps_Locl exchang Esc
vim ~/.Xmodmap 1 remove Lock = Caps_Lock 2 keysym Escape = ...
- PHP安装oracle的php_oci和oci8扩展
环境:centos6.9 php5.3.3 oracle客户端:下载链接:http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277 ...
- /* Dr黄的技术博客开通啦 */
以前懒得写技术日志, 现在终于发现重要性.. mark一下这个里程碑.
- (转)Kettle命令行
kettle使用命令行来运行ktr和kjb 1:cmd方式运行 1.ktr的运行:运行transformation文件是通过Pan.bat来运行的. 打开cmd命令行窗口,转到Pan.bat所在的目录 ...
- 51Nod 1019 逆序数(线段树)
题目链接:逆序数 模板题. #include <bits/stdc++.h> using namespace std; #define rep(i, a, b) for (int i(a) ...
- python第三方库离线安装-使用pip
参考:http://www.cnblogs.com/michael-xiang/p/5690746.html 操作系统:CentOS 6.9 python:2.7.14 (默认的2.6.6需要升级到2 ...
- 如何判断自己外网IP是否为真实公网IP,以及解决方案
如何判断本地(路由器)分配的IP是否公网IP? 公网IP:全球唯一IP地址.(公网IP又分为静态公网IP和动态公网IP,如何分辨的话,进入路由器查看连接方式pppoe连接都是动态公网IP.) ...
- Fresco的使用及注意事项
Fresco的使用及注意事项 时间 2016-10-17 18:32:12 DevWiki's Blog 原文 http://blog.devwiki.net/index.php/2016/10/1 ...