如何在Ubuntu Server版上实施iptables

iptables 是一个安装在">Ubuntu Server上的默认防火墙。在正常的ubuntu安装过程中,iptables是被安装上了的,但是它默认允许所有的流量(不管防火墙是否是无效的)。关于iptables有价值的信息很多,但是大多都描述的很复杂。如果你想做些基本的配置,下面的 How To 很适合你。

基本命令

键入:

# iptables -L

列出您当前iptables中在规则。如果您是刚刚建立您的服务器,那么可能此时还没有任何规则,而且您应该看到如下:

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

允许建立会话

我们可以允许建立会话来接受流量:

# iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

在指定端口上允许入站流量

阻断所有流量您也可以启动系统,但是您可能正在通过SSH工作,所有在您阻断其他流量前有必要允许SSH流量。

为了在22端口号(默认的SSH端口)上的允许流量入站,您可以告诉iptables允许您的网卡接受所有的目的端口为22的TCP流量。

# iptables -A INPUT -p tcp -i eth0 --dport ssh -j ACCEPT

特别的,这将向表中追加(-A)INPUT规则,允许目的端口号为SSH的所有流量进入接口(-i) eth0,以便iptables完成跳转(-j)或动作:ACCEPT

让我们核对下这些规则:(这里仅显示了少数行,您应该看到更多)

# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:ssh

现在,让我们允许所有的web流量

# iptables -A INPUT -p tcp -i eth0 --dport 80 -j ACCEPT

检查我们现有的规则

# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:ssh
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:www
我们已经指定SSH和web端口为允许通过的TCP流量,但是因为我们还没阻断任何流量,所以到目前为止所有的流量仍然可以进入。

时间: 2024-12-30 16:41:30

如何在Ubuntu Server版上实施iptables的相关文章

Ubuntu server版上使用命令行操作VPN客户端

Ubuntu server版上使用命令行操作VPN客户端 VPN,虚拟专用网络,这个技术还是非常实用的.最近笔者参与的项目中就使用上了VPN,大概情况是这样的,有两个开发团队,在异地,代码服务器在深圳了,它使用的是企业内部局域网,支持上网功能的,我们在公网上弄了个阿里云服务器,装了ubuntu vpn的server,其实我们现在要做的就是把代码服务器通过VPN拨号上去,组建一个新的本地网络,怎么大家VPN的server笔者就不在这描述了,网上已经有大把资料了,笔者下面就简要介绍一下自己在代码服务

如何在Ubuntu Server 14.04 LTS(Trusty) 上安装Ghost

如何在Ubuntu Server 14.04 LTS(Trusty) 上安装Ghost 今天我们将会在Ubuntu Server 14.04 LTS (Trusty)上安装一个博客平台Ghost. Ghost是一款设计优美的发布平台,很容易使用且对任何人都免费.它是免费的开源软件(FOSS),它的源码在Github上.截至2015年1月(LCTT 译注:原文为2014,应为2015),它的界面很简单还有分析面板.编辑使用的是很便利的分屏显示. 因此有了这篇步骤明确的在Ubuntu Server上

如何在Ubuntu 16.04上安装OTRS(开源问题单系统)

OTRS ,即开源问题单(ticket)申请系统,是一个用于客户服务.帮助台和 IT 服务管理的开源问题单软件.该软件是用 Perl 和 javascript 编写的.对于那些需要管理票据.投诉.支持请求或其他类型的报告的公司和组织来说,这是一个问题单解决方案.OTRS 支持包括 MySQL.PostgreSQL.Oracle 和 SQL Server 在内的多个数据库系统,它是一个可以安装在 Windows 和 Linux 上的多平台软件. 在本教程中,我将介绍如何在 Ubuntu 16.04

如何在 Ubuntu 14/15 上配置 Apache Solr

如何在 Ubuntu 14/15 上配置 Apache Solr 大家好,欢迎来阅读我们今天这篇 Apache Solr 的文章.简单的来说,Apache Solr 是一个最负盛名的开源搜索平台,配合运行在网站后端的 Apache Lucene,能够让你轻松创建搜索引擎来搜索网站.数据库和文件.它能够索引和搜索多个网站并根据搜索文本的相关内容返回搜索建议. Solr 使用 HTTP 可扩展标记语言(XML),可以为 JSON.Python 和 Ruby 等提供应用程序接口(API).根据 Apa

如何在 Ubuntu 和 CentOS 上启用 Nginx 的 HTTP/2 协议支持

HTTP/2 是 HTTP 网络协议的主要修订版本,其专注于 HTTP 协议的性能改进.HTTP/2 协议的目标是减少延迟,并且允许在 Web 浏览器和服务器之间的一个连接上并行发起多个请求,因此 Web 应用程序会更快.在本篇教程中,我们将像你展示如何在安装有 Ubuntu 或 CentOS 作为操作系统的 Linux VPS 上使用开启 Nginx 的 HTTP/2 协议.如果你使用 Apache,你可以查看我们的另一篇教程:如何在 Ubuntu 上开启 Apache 的 HTTP/2 协议

如何在Ubuntu 14.04上安装轻量级web服务器Cherokee

如何在Ubuntu 14.04上安装轻量级web服务器Cherokee Cherokee 是一个免费,开源,高性能轻量级的全功能web服务器,支持大部分主流操作系统(Linux. Mac OS X. Solaris 和 BSD).它支持TLS/SSL.FastCGI. SCGI. PHP. uWSGI. SSI. CGI. LDAP. HTTP代理. 视频流处理. 内容缓存. 流量控制. 虚拟主机.Apache兼容的日志文件,以及负载均衡等功能. 今天我们介绍一下怎样在Ubuntu Server

如何在Ubuntu 14.04 上为Apache 2.4 安装SSL支持

如何在Ubuntu 14.04 上为Apache 2.4 安装SSL支持 今天我会讲述如何为你的个人网站或者博客安装SSL 证书,来保护你的访问者和网站之间通信的安全. 安全套接字层或称SSL,是一种加密网站和浏览器之间连接的标准安全技术.这确保服务器和浏览器之间传输的数据保持隐私和安全.它被成千上万的人使用来保护他们与客户的通信.要启用SSL链接,Web服务器需要安装SSL证书. 你可以创建你自己的SSL证书,但是这默认不会被浏览器所信任,要解决这个问题,你需要从受信任的证书机构(CA)处购买

如何在 Ubuntu 14.10 上安装 KDE Plasma 5.2

如何在 Ubuntu 14.10 上安装 KDE Plasma 5.2 KDE Plasma 5.2已经发布一段时间了,在本篇中我们将看到如何在Ubuntu 14.10 上安装KDE Plasma 5.2. Ubuntu的默认桌面环境Unity很漂亮还有很多特性,但是如果你问任何有经验的Linux用户关于桌面定制能力,他的回答将是KDE.KDE在定制上是王者并且它得到流行大概是由于Ubuntu有官方的KDE版本,也就是Kubuntu3. 对于Ubuntu(或者任何其他的Linux系统)而言的一个

如何在 Ubuntu 15.04 上安装带 JSON 支持的 SQLite 3.9.1

如何在 Ubuntu 15.04 上安装带 JSON 支持的 SQLite 3.9.1 欢迎阅读我们关于SQLite 的文章,SQLite 是当今世界上使用最广泛的 SQL 数据库引擎,它基本不需要配置,不需要设置或管理就可以运行.SQLite 是一个是公开领域public-domain的软件,是一个关系型数据库管理系统(RDBMS),用来在一个大数据表中存储用户定义的记录.对于数据存储和管理来说,数据库引擎要处理复杂的查询命令,这些命令可能会从多个表获取数据然后生成报告和数据总结. SQLit