Linux下iptables防火墙简单配置

本文涉及的产品
云防火墙,500元 1000GB
简介:

Linux下防火墙简单配置

    作为一个网站服务器,只需要开放80端口和22端口即可。80用于web访问,22用于远程登录管理,可以把22端口改成其他的端口,这样更安全一般来说 在创建访问规则时 都会将原有的规则清零 这是一个比较好的习惯,因为某些规则的存在会影响你建的规则.

基本语法:
iptables [-t filter] [-AI INPUT,OUTPUT,FORWARD] [-io interface]
         [-p tcp,udp.icmp,all] [-s ip/nerwork] [--sport ports]
         [-d ip/netword] [--dport ports] [-j ACCEPT DROP]

以上是iptables的基本语法
A 是添加的意思
I 是播入的意思
io 指的是数据要进入或出去所要经过的端口 如eth1 eth0 pppoe等 
p 你所要指定的协议
-s 指源地址 可是单个IP如192.168.2.6 也可以是一个网络 192.168.2.0/24 还可以 是一个域名 如163.com 如果你填写的域名系统会自动解析出他的IP并在iptables里 显示
--sport 来源端口
-d 同-s相似 只不过他指的是目标地址 也可以是IP 域名 和网络
--dport 目标端口
-j 执行参数 ACCEPT DROP
注意:如果以有参数存在 则说明全部接受
1 如我要来自己l0接口的数据全部接受,我们可以写成这样:
    iptables -A INPUT -i lo -j ACCEPT
2 如果我们想接受192.168.2.6这个IP地址传来的数据我们可以这样写
    iptablse -A INPUT -i eth1 -p tcp -s 192.168.2.6 -j ACCEPT
3 如果我们要拒绝来自己192.168.2.0/24这个网的telnet连接
    iptablse -A INPUT -i eth1 -p udp -s 192.168.2.0/24 
    --sport 23 -j DROP

查看现有的防火墙规则

[root@redhata~]# iptables -L -n

iptables的默认设置为 三条链都是ACCEPT 如下:
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT

查看防火墙状态

[root@redhata~]# service iptables status

修改防火墙默认配置

[root@redhata~]# iptables -P INPUT ACCEPT

清空默认防火墙规则

[root@redhata ~]# iptables -F
[root@redhata ~]#
 iptables -t nat -F

简单的配置防火墙

[root@redhata~]# iptables -A INPUT -i lo -j ACCEPT 
[root@redhata~]# iptables -A INPUT -m state –state ESTABLISH,RELATED -j ACCEPT
[root@redhata~]# iptables -A INPUT -p tcp –dport 80 -j ACCEPT
[root@redhata~]# iptables -A INPUT -p tcp –dport 22 -j ACCEPT
[root@redhata~]# iptables -A INPUT -p icmp -j ACCEPT
[root@redhata~]# iptables -P INPUT DROP
[root@redhata~]# iptables -P FORWARD DROP
[root@redhata~]# iptables -P OUTPUT ACCEPT

保存防火墙配置

[root@redhata~]# service iptables save

设置开机启动

[root@redhata~]# chkconfig iptables on


重启防火墙
[root@redhata~]#
 service iptables restart

查看防火墙

[root@redhata~]# iptables -L -n -v

命令解释

iptables -P INPUTACCEPT 假如利用远程连接,我们必须临时将 INPUT 链的缺省政策改为 ACCEPT,否则当我们清除现有的规则集时,便会将自己封锁在服务器之外。
iptables -F 
我们利用 -F 选项来清除一切现存的规则,好让我们能够在崭新的状态下加入的规则。
iptables -A INPUT -i lo -j ACCEPT 
现在是时候加入一些规则了。我们利用 -A 选项来附加(新增)规则到某条链,而这里所指的是 INPUT 链。接著我们利用 -i 选项(interface「界面」之意)来指定那些符合或来自lolocalhost127.0.0.1)界面的封包。最后我们 -jjump「跳至」)符合这条规则的目标动作:在这里是 ACCEPT。所以这条规则会导致所有转至localhost 界面的对内封包获得接纳。一般来说这是必须的,因为很多软件预期能够与 localhost 适配器沟通。
iptables -A INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT 
这是担负起大部份工作的规则,而我们再一次将它加进(-AINPUT 链内。这里我们利用 -m 选项来装入一个模块(state)。state 模块能够查看一个封包并判断它的状态是 NEWESTABLISHED 抑或 RELATEDNEW 指进入的封包属于不是由主机初始化的新增连接。ESTABLISHED  RELATED 指进入的封包
隶属于一条现存的连接,或者与现存的连接有关系。
iptables -A INPUT -p tcp –dport 22 -j ACCEPT 
现在我们加入一条规则来容许 SSH 通过 tcp 端口 22 来连接。这样做是要防止我们连接到远程系统的 SSH 连接意外地被封销。我们稍后会更详细解释这条规则。
iptables -P INPUT DROP 
这个 -P 选项设置某条规则链上的缺省政策。我们现在可以将 INPUT 链的缺省政策改为DROP。意思就是,不符合任何一条规则的对内封包将会被丢弃。要是我们通过 SSH 远程连接而没有加入上一条规则,此刻我们便会被封锁于系统之外。
iptables -P FORWARD DROP 
同样地,在这里我们将 FORWARD 链的缺省政策设为 DROP,因为我们并不是用计算机作为路由器,所以理应没有任何封包路经它。
iptables -P OUTPUT ACCEPT 
而最后,我们将 OUTPUT 链的缺省政策设为 ACCEPT,因为我们想容许所有对外的流量(由于我们信任我们的用户)。
iptables -L -v 
最后,我们可以列出(-L)刚加入的规则,并检查它们是否被正确地装入。















本文转自shangshanyang51CTO博客,原文链接:http://blog.51cto.com/qqran/1893978  ,如需转载请自行联系原作者



相关文章
|
25天前
|
安全 Linux 应用服务中间件
在Linux中,包过滤防火墙与代理应用防火墙有什么区别?有哪些相应的产品?
在Linux中,包过滤防火墙与代理应用防火墙有什么区别?有哪些相应的产品?
|
15天前
|
机器学习/深度学习 安全 网络协议
Linux防火墙iptables命令管理入门
本文介绍了关于Linux防火墙iptables命令管理入门的教程,涵盖了iptables的基本概念、语法格式、常用参数、基础查询操作以及链和规则管理等内容。
174 73
|
19天前
|
Linux 网络安全
linux关闭方防火墙的命令
linux关闭方防火墙的命令
31 2
|
11天前
|
域名解析 负载均衡 网络协议
Linux网络接口配置不当所带来的影响
总而言之,Linux网络接口的恰当配置是保证网络稳定性、性能和安全性的基础。通过遵循最佳实践和定期维护,可以最大程度地减少配置错误带来的负面影响。
37 0
|
14天前
|
监控 安全 网络协议
快速配置Linux云服务器
快速配置Linux云服务器
|
24天前
|
开发框架 .NET Linux
【Azure 应用服务】 部署到App Service for Linux 服务的Docker 镜像,如何配置监听端口呢?
【Azure 应用服务】 部署到App Service for Linux 服务的Docker 镜像,如何配置监听端口呢?
|
24天前
|
应用服务中间件 Linux PHP
【Azure 应用服务】App Service For Linux 环境中,如何修改 Nginx 配置中 server_name的默认值 example.com
【Azure 应用服务】App Service For Linux 环境中,如何修改 Nginx 配置中 server_name的默认值 example.com
|
24天前
|
Java Linux Shell
【Azure 应用服务】部署Jar到App Service for Linux,因启动命令路径配置错误而引起:( Application Error 问题
【Azure 应用服务】部署Jar到App Service for Linux,因启动命令路径配置错误而引起:( Application Error 问题
|
网络协议 安全 Linux
百度搜索:蓝易云【Linux系统下如何在防火墙开放指定端口】
在Linux系统中,防火墙是用于保护计算机安全的重要组成部分。默认情况下,大多数Linux发行版都会自带一个防火墙,如iptables、firewalld等。当我们需要运行特定的应用程序或服务时,需要在防火墙中开放相应的端口。下面就是Linux系统下如何在防火墙开放指定端口的详细步骤。
105 0
|
4月前
|
存储 安全 网络协议
使用 firewall-cmd 管理 Linux 防火墙端口
本文将介绍如何使用 firewall-cmd 工具在 Linux 系统中进行简单端口管理,包括开放、查询、关闭等操作。通过实例展示相关命令的用法,希望能对大家有所帮助。
526 0