天道酬勤,学无止境

在 debian 中的 iptables 中添加规则以打开新端口(Adding a rule in iptables in debian to open a new port)

问题

我试图在我的 Debian 系统的 iptables 中打开端口 3306 以允许访问 MySQL 服务器。 为此我输入了这个命令:

root@debian:/# sudo iptables -A INPUT -p tcp --dport 3306 ACCEPT
root@debian:/# iptables-save

我输入了新连接,它已保存在 iptables 中,因为我可以在 iptables-save 命令生成的 iptables 列表中看到新规则。

但是,这个 debian 系统运行在基于 Windows7 的虚拟机上,我无法从 Windows telnet 到这个端口。 不知道我应该在哪里检查这个问题的解决方案。

回答1

关于你的命令行:

root@debian:/# sudo iptables -A INPUT -p tcp --dport 3306 --jump ACCEPT
root@debian:/# iptables-save
  • 您已经以root身份进行身份验证,因此sudo在那里是多余的。

  • 您在ACCEPT参数之前缺少-j--jump (只是认为这是一个错字并且您正确插入了它)。

关于你的问题:

如果您在问题中指出的那样正确插入了iptables规则,则问题可能与您使用的管理程序(虚拟机提供商)有关。

如果您提供管理程序名称(VirtualBox、VMWare?),我可以进一步指导您,但这里有一些您可以先尝试的建议:

检查您的 vmachine 网络设置并:

  • 如果它设置为 NAT,那么您将无法从基础机器连接到虚拟机。

  • 如果设置为 Hosted,则必须首先配置其网络设置,通常为它们提供 192.168.56.0/24 范围内的 IP,因为这是管理程序为此使用的默认值。

  • 如果它设置为桥接,与托管相同,但您可以在 IP 范围对您的配置有意义时对其进行配置。

希望这可以帮助。

回答2

(我假设您已经通过完全删除防火墙(iptables -P INPUT ACCEPT; iptables -P OUTPUT ACCEPT; iptables -F)得出结论,这是一个 iptables 问题,并确认您可以从 Windows 设备连接到 MySQL 服务器? )

INPUT 表中的某些先前规则可能是拒绝或丢弃数据包。 您可以通过在顶部插入新规则来解决这个问题,尽管您可能想要查看现有规则以查看这是否合理:

iptables -I INPUT 1 -p tcp --dport 3306 -j ACCEPT

请注意, iptables-save 不会持久保存新规则(即跨重新启动) - 您需要为此找出其他方法。 我通常的做法是将 iptables-save 输出存储在一个文件中(/etc/network/iptables.rules 或类似文件),然后在 /etc/network/interfaces 中加载一个 pre-up 语句)。

标签

受限制的 HTML

  • 允许的HTML标签:<a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • 自动断行和分段。
  • 网页和电子邮件地址自动转换为链接。

相关推荐
  • 如何以编程方式即时管理iptables规则?(How can I programmatically manage iptables rules on the fly?)
    问题 我需要查询现有规则,以及能够轻松添加和删除规则。 我还没有找到执行此操作的任何API。 有什么我想念的吗? 我最接近解决方案的是使用iptables-save | iptables-xml iptables-save | iptables-xml用于查询和手动调用iptables命令本身以添加/删除规则。 我考虑过的另一个解决方案是,从应用程序的数据库中重新生成整个规则集,然后刷新整个链,然后再次应用它。 但是我想避免这种情况,因为我不想丢弃任何数据包-除非有一种方法可以自动执行此操作。 我想知道是否有更好的方法。 用C编写的API会很棒。 但是,当我计划将其构建为独立的suid程序时,以任何语言进行此操作的库也可以。 回答1 从netfilter常见问题解答: 不幸的是,答案是:否。 现在您可能会想“但是libiptc呢?”。 正如在邮件列表上多次指出的那样,libiptc绝不打算用作公共接口。 我们不保证接口稳定,因此计划在Linux数据包过滤的下一个版本中将其删除。 libiptc太底层了,因此无论如何都不能合理使用。 我们深知,此类API根本缺乏,我们正在努力改善这种情况。 在此之前,建议您使用system()或在iptables-restore的stdin中打开管道。 后者将为您提供更好的性能。 回答2 使用iptables-save和iptables
  • 防火墙配置与使用
    防火墙配置与使用 实验目的 进行防火墙的配置与使用,理解防火墙的原理规则等 实验先修知识 iptables基本命令使用 iptables -h #简易帮助 iptables [-t表名] <-L> [链名] #查看iptables规则 #–[-t表名],查看哪个表的规则列表 #–-L,查看指定表指定链的规则列表 #–链名,查看指定表中哪个链的规则链表 iptables -L -n -t filter -v #查看iptales的三个链(转发链,input和output链 iptables.rules #查看防护墙配置规则 iptables-restore <iptables.rules #iptables-restore命令用来还原iptables-save命令所备份的iptables配置。 ssh 172.16.111.1 -vv#查看ssh服务 iptables核心指令格式 iptables [-t 表] 命令 匹配 操作 其中表选项,指定命令应用于哪个内置表(filter表、nat表或mangle表),命令选项则如表8-1所示,匹配选项如表8-2所示,动作选项为表8-3所示, 命令说明-P或–policy <链名>定义默认策略-L或–list <链名>查看iptables规则列表-A或–append <链名>在规则列表的最后增加1条规则-I或–insert <链名
  • linux7 防火墙,firewall的说明及相关配置注释
    防火墙Redhat Enterprise Linux7已经默认使用firewalld作为防火墙,其使用方式已经变化。基于iptables的防火墙被默认不启动,但仍然可以继续使用。RHEL7中有几种防火墙共存:firewalld、iptables、ebtables等,默认使用firewalld作为防火墙,管理工具是firewall-cmd。RHEL7的内核版本是3.10,在此版本的内核里防火墙的包过滤机制是firewalld,使用firewalld来管理netfilter,不过底层调用的命令仍然是iptables等。因为这几种daemon是冲突的,所以建议禁用其他几种服务 例如若要禁用iptables、ip6tables、ebtables防火墙,方法如下图 或 查看这几种服务是否正在运行 或 RHEL7虽然有iptables但是不建议使用了,使用新的firewalld服务。查看firewalld软件包是否安装 Firewalld提供了支持网络/防火墙区域(zone)定义网络链接以及接口安全等级的防火墙管理工具。拥有运行时配置和永久配置选项。它也支持允许服务或者应用程序直接添加防火墙规则的接口。以前的 system-config-firewall防火墙模型是静态的,每次修改都要求防火墙完全重启。这个过程包括内核 netfilter 防火墙模块的卸载和新配置所需模块的装载等。相反
  • Iptables 规则用法小结
    iptables是组成Linux平台下的包过滤防火墙,与大多数的Linux软件一样,这个包过滤防火墙是免费的,它可以代替昂贵的商业防火墙解决方案,完成封包过滤、封包重定向和网络地址转换(NAT)等功能。在日常Linux运维工作中,经常会设置iptables防火墙规则,用来加固服务安全。以下对iptables的规则使用做了总结性梳理:iptables首先需要了解的:1)规则概念规则(rules)其实就是网络管理员预定义的条件,规则一般的定义为“如果数据包头符合这样的条件,就这样处理这个数据包”。规则存储在内核空间的信息 包过滤表中,这些规则分别指定了源地址、目的地址、传输协议(如TCP、UDP、ICMP)和服务类型(如HTTP、FTP和SMTP)等。当数据包与规则匹配时,iptables就根据规则所定义的方法来处理这些数据包,如放行(accept),拒绝(reject)和丢弃(drop)等。配置防火墙的主要工作是添加,修改和删除等规则。其中:匹配(match):符合指定的条件,比如指定的 IP 地址和端口。丢弃(drop):当一个包到达时,简单地丢弃,不做其它任何处理。接受(accept):和丢弃相反,接受这个包,让这个包通过。拒绝(reject):和丢弃相似,但它还会向发送这个包的源主机发送错误消息。这个错误消息可以指定,也可以自动产生。目标(target):指定的动作
  • centos7版本firewalld防火墙的基本命令配置管理
    centos7/redhat7已经默认使用firewalld作为防火墙,其使用的方式已经变化,基于iptables的防火墙默认不启用,但是仍可以继续使用注意:centos7/redhat7中有几种防火墙共存:firewalld、iptables、ebtablesd、默认使用的是firewalld作为防火墙,管理工具是firewalld、Centos7的内核版本是3.10uname -r在此版本的内核里防火墙的包过滤机制是firewalld,使用firewalld来管理netfilter,不过底层调用的还是iptables,因为这几种damon是冲突的,所以建议禁用其他服务systemctl status {firewalld,iptables,ip6tables,ebtables}禁止iptables、ip6tables、ebtablessystemctl mask {iptables,ip6tables,ebtables}firewalld提供了支持网络/防火墙区域(zone)定义网络链接以及接口安全等级的防火墙管理工具。拥有运行时配置和永久配置选项。它也支持允许服务或者应用程序直接添加防火墙规则的接口。以前的system-config-firewall防火墙模型是静态的,每次修改都要求防火墙完全重启。这个过程包括内核netfilter防火墙模块的卸载和新配置所需模块的装载等。
  • iptables入门篇
    一、 iptables简介1.1 什么是iptables?iptables是Linux防火墙工作在用户空间的管理工具,是netfilter/iptables IP 信息包过滤系统是一部分,用来设置、维护和检查Linux内核的IP数据包过滤规则。1.2主要特点1)列出数据包过滤器规则集的内容2)添加/删除/修改数据包过滤器规则集中的规则3)列出/清零数据包过滤器规则集的每个规则计数器 二、 基本概念iptables 可以检测、修改、转发、重定向和丢弃 IP 数据包。其代码已经内置于内核中,并且按照不同的目的被组织成表(table)的集合。表由一组预先定义的链(chain)组成,链包含遍历顺序规则。每一条规则包含条件匹配和相应的动作(称为目标),如果条件匹配为真,该动作会被执行。下图简要描述了网络数据包通过iptables的过程(只包含filter和nat表):图中在上面的小写字母代表表,在下面的大写字母代表链。从任何网络端口进来的每一个 IP 数据包都要从上到下的穿过这张图。一种常见的困扰是认为 iptables 对从内部端口进入的数据包和从面向互联网端口进入的数据包采取不同的处理方式,相反,iptabales 对从任何端口进入的数据包都会采取相同的处理方式。可以定义规则使 iptables 采取不同的方式对待从不同端口进入的数据包。当然一些数据包是用于本地进程的
  • 流浪者卡死的连接超时重试(Vagrant stuck connection timeout retrying)
    问题 昨晚我的无业游民工作得很好。 我刚打开PC,打vagrant up一下vagrant up ,这就是我得到的: ==> default: Clearing any previously set network interfaces... ==> default: Preparing network interfaces based on configuration... default: Adapter 1: nat default: Adapter 2: hostonly ==> default: Forwarding ports... default: 22 => 2222 (adapter 1) ==> default: Booting VM... ==> default: Waiting for machine to boot. This may take a few minutes... default: SSH address: 127.0.0.1:2222 default: SSH username: vagrant default: SSH auth method: private key default: Error: Connection timeout. Retrying... default: Error: Connection timeout
  • 在Linux上打开端口
    在学习在Linux上打开端口之前,让我们了解什么是网络端口。 端口是通信端点。 在操作系统内,端口允许数据包特定的进程或网络服务。通常,端口标识分配给它们的特定网络服务。 可以通过手动将服务配置为使用其他端口来更改此设置,但是通常可以使用默认值。前1024个端口(端口0-1023 )称为众所周知的端口号,并保留用于最常用的服务,包括SSH(端口22),HTTP和HTTPS(端口80和443)等。端口号大于1024的被称为临时端口。 在临时端口中,端口号1024-49151称为已注册/用户端口。 其余端口49152-65535被称为动态/专用端口。在本教程中,我们将展示如何在Linux上打开临时端口,因为最常用的服务使用众所周知的端口。1 列出所有打开的端口 在Linux上打开端口之前,让我们首先检查所有打开的端口的列表,然后从该列表中选择一个临时端口打开。 我们可以使用netstat命令列出所有打开的端口,包括TCP , UDP的端口 ,它们是网络层中用于数据包传输的最常见协议。**注意 :**如果您的发行版没有netstat ,那不是问题。 您可以使用ss命令通过侦听套接字显示打开的端口。netstat -lntu 复制代码这将打印所有侦听套接字(-l)以及端口号(-n),并且输出中还将列出TCP端口( -t )和UDP端口( -u )。为了确保我们获得一致的输出
  • linux系统中查看己设置iptables规则
    1、iptables -L查看filter表的iptables规则,包括所有的链。filter表包含INPUT、OUTPUT、FORWARD三个规则链。说明:-L是--list的简写,作用是列出规则。2、iptables -L [-t 表名]只查看某个表的中的规则。说明:表名一共有三个:filter,nat,mangle,如果没有指定表名,则默认查看filter表的规则列表(就相当于第一条命令)。举例:iptables -L -t filter3、iptables -L [-t 表名] [链名]这里多了个链名,就是规则链的名称。说明:iptables一共有INPUT、OUTPUT、FORWARD、PREROUTING、POSTROUTING五个规则链。举例:iptables -L INPUT注意:链名必须大写。在Linux系统上,命令的大小写很敏感。4、iptables -n -L说明:以数字形式显示规则。如果没有-n,规则中可能会出现anywhere,有了-n,它会变成0.0.0.0/05、iptables -nv -L说明:你也可以使用“iptables -L -nv”来查看,这个列表看起来更详细,对技术人员更友好,呵呵。如果想删除iptables规则我们可以如下操作删除用-D参数删除之前添加的规则(iptables -A INPUT -s 192.168.1.5 -j
  • 细说firewalld和iptables
    在RHEL7里有几种防火墙共存:firewalld、iptables、ebtables,默认是使用firewalld来管理netfilter子系统,不过底层调用的命令仍然是iptables等。firewalld跟iptables比起来至少有两大好处:1、firewalld可以动态修改单条规则,而不需要像iptables那样,在修改了规则后必须得全部刷新才可以生效;2、firewalld在使用上要比iptables人性化很多,即使不明白“五张表五条链”而且对TCP/IP协议也不理解也可以实现大部分功能。firewalld跟iptables比起来,不好的地方是每个服务都需要去设置才能放行,因为默认是拒绝。而iptables里默认是每个服务是允许,需要拒绝的才去限制。firewalld自身并不具备防火墙的功能,而是和iptables一样需要通过内核的netfilter来实现,也就是说firewalld和 iptables一样,他们的作用都是用于维护规则,而真正使用规则干活的是内核的netfilter,只不过firewalld和iptables的结构以及使用方法不一样罢了。一个重要的概念:区域管理通过将网络划分成不同的区域,制定出不同区域之间的访问控制策略来控制不同程序区域间传送的数据流。例如,互联网是不可信任的区域,而内部网络是高度信任的区域。网络安全模型可以在安装
  • 有没有办法让非根进程绑定到Linux上的“特权”端口?(Is there a way for non-root processes to bind to “privileged” ports on Linux?)
    问题 当我之外再也没有其他用户时,在我的开发箱上有这个限制是很烦人的。 我知道标准的解决方法,但是它们都不能完全满足我的要求: authbind(Debian测试版1.0版仅支持IPv4) 使用iptables REDIRECT目标将低端口重定向到高端口(iptable的IPv6版本ip6tables尚未实现“ nat”表) sudo(以root身份运行是我要避免的操作) SELinux(或类似版本)。 (这只是我的开发箱,我不想引入很多额外的复杂性。) 是否有一些简单的sysctl变量允许非根进程绑定到Linux上的“特权”端口(端口小于1024),还是我不走运? 编辑:在某些情况下,您可以使用功能来做到这一点。 回答1 好的,感谢那些指出功能系统和CAP_NET_BIND_SERVICE功能的人。 如果您使用的是最新内核,则确实可以使用它以非root用户身份启动服务,但绑定低端口。 简短的答案是您可以这样做: setcap 'cap_net_bind_service=+ep' /path/to/program 然后,此后任何时候执行program ,它都将具有CAP_NET_BIND_SERVICE功能。 setcap在debian软件包libcap2-bin 。 现在需要注意的是: 您将至少需要2.6.24内核如果您的文件是脚本,则此方法将无效。 (即,使用#!行启动解释器)
  • 在Linux上打开端口
    在学习在Linux上打开端口之前,让我们了解什么是网络端口。 端口是通信端点。 在操作系统内,端口允许数据包特定的进程或网络服务。通常,端口标识分配给它们的特定网络服务。 可以通过手动将服务配置为使用其他端口来更改此设置,但是通常可以使用默认值。 前1024个端口(端口0-1023 )称为众所周知的端口号,并保留用于最常用的服务,包括SSH(端口22),HTTP和HTTPS(端口80和443)等。端口号大于1024的被称为临时端口。 在临时端口中,端口号1024-49151称为已注册/用户端口。 其余端口49152-65535被称为动态/专用端口。 在本教程中,我们将展示如何在Linux上打开临时端口,因为最常用的服务使用众所周知的端口。 1 列出所有打开的端口 在Linux上打开端口之前,让我们首先检查所有打开的端口的列表,然后从该列表中选择一个临时端口打开。 我们可以使用netstat命令列出所有打开的端口,包括TCP , UDP的端口 ,它们是网络层中用于数据包传输的最常见协议。 **注意 :**如果您的发行版没有netstat ,那不是问题。 您可以使用ss命令通过侦听套接字显示打开的端口。 netstat -lntu 复制代码 这将打印所有侦听套接字(-l)以及端口号(-n),并且输出中还将列出TCP端口( -t )和UDP端口( -u )。 为了确保我们获得一致的输出
  • 如何从Android设备访问本地主机?(How can I access my localhost from my Android device?)
    问题 我可以使用Android模拟器访问笔记本电脑的Web服务器,我使用的是10.0.2.2:portno效果很好。 但是,当我连接真正的Android手机时,手机浏览器无法连接到笔记本电脑上的同一Web服务器。 手机使用USB电缆连接到笔记本电脑。 如果运行adb devices命令,则可以看到我的手机。 我想念什么? 回答1 USB不为移动设备提供网络。 如果您的台式机和电话都连接到同一WiFi (或任何其他本地网络),请使用路由器分配的台式机IP地址(不是localhost而不是127.0.0.1 )。 要查找您的桌面的IP地址,请执行以下操作: 在命令行中输入ipconfig (Windows)或ifconfig (Unix) 在Linux上的一线ifconfig | grep "inet " | grep -v 127.0.0.1 ifconfig | grep "inet " | grep -v 127.0.0.1 ifconfig | grep "inet " | grep -v 127.0.0.1将仅产生重要的内容关于如何在Windows上具有类似的输出,有很多建议将会有一堆IP 尝试所有的方法(上述的localhost和127.0.0.1除外) 如果您的电话已连接到移动网络,那么事情将会变得更加艰难。 要么去铁杆: 首先找出您的路由器外部IP地址(https:/
  • Iptables 之recent模块小结
    Iptables的recent模块用于限制一段时间内的连接数, 是谨防大量请求***的必杀绝技! 善加利用该模块可充分保证服务器安全。recent常用参数--name 设定列表名称,即设置跟踪数据库的文件名. 默认DEFAULT;--rsource 源地址,此为默认。 只进行数据库中信息的匹配,并不会对已存在的数据做任何变更操作;--rdest 目的地址;--seconds 指定时间内. 当事件发生时,只会匹配数据库中前"几秒"内的记录,--seconds必须与--rcheck或--update参数共用;--hitcount 命中次数. hits匹配重复发生次数,必须与--rcheck或--update参数共用;--set 将地址添加进列表,并更新信息,包含地址加入的时间戳。 即将符合条件的来源数据添加到数据库中,但如果来源端数据已经存在,则更新数据库中的记录信息;--rcheck 检查地址是否在列表,以第一个匹配开始计算时间;--update 和rcheck类似,以最后一个匹配计算时间。 如果来源端的数据已存在,则将其更新;若不存在,则不做任何处理;--remove 在列表里删除相应地址,后跟列表名称及地址。如果来源端数据已存在,则将其删除,若不存在,则不做任何处理;recent模块需要注意的地方a) 目录/proc/net/下的xt
  • CentOS 7.X默认firewall防火墙改为iptables防火墙
    CentOS 7 默认使用的是firewall作为防火墙,这里改为iptables防火墙。1、关闭firewallsystemctl stop firewalld.service #停止firewallsystemctl disable firewalld.service #禁止firewall开机启动2、安装iptables防火墙yum install iptables-services #安装vi /etc/sysconfig/iptables #编辑防火墙配置文件**********************************************************************************************# Firewall configuration written by system-config-firewall# Manual customization of this file is not recommended.*filter:INPUT ACCEPT [0:0]:FORWARD ACCEPT [0:0]:OUTPUT ACCEPT [0:0]-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT-A INPUT -p icmp -j ACCEPT-A INPUT
  • Iptables防火墙知识总结
    1.iptables介绍iptables是一个配置linux内核防火墙的命令行工具,是netfilter项目的一部分。iptables也经常代指内核级防火墙。iptables用于ipv4,ip6tables用于ipv6。nfttables已经包含在linux kernel 3.13中,以后回取代iptables成为主要的linux防火墙工具。2.iptables基本概念iptables是位于用户空间的命令行程序,用于生成规则送往内核中的netfilter之上。netfilter是位于内核中tcp/ip协议栈上的一个framework,有5个钩子函数。在内核空间中选择了5个位置来检查流经的数据包: (1)内核空间中:从一个网络接口进来,到另一个网络接口去的 (2)数据包从内核流入用户空间的 (3)数据包从用户空间流出的 (4)进入/离开本机的外网接口 (5)进入/离开本机的内网接口 这5个位置被称为5个钩子函数(hook functions),对应iptables的5个规则链iptables 5个内置的规则链: (1)PREROUTING(路由前):对数据包做路由选择前应用此链中的规则。所有数据包进来的时候都先 由这条链处理。 (2)INPUT(数据包流入口):进来的数据包应用此规则链中的策略 (3)FORWARD(转发):转发数据包时应用此规则链中的策略 (4)OUTPUT
  • 无法ping AWS EC2实例(Cannot ping AWS EC2 instance)
    问题 我有一个在AWS中运行的EC2实例。 当我尝试从本地机器ping通时,它不可用。 如何使实例可ping通? 回答1 添加新的EC2安全组入站规则: 类型:自定义ICMP规则协议:回声请求端口: N / A 来源:您的选择(我将选择“任何地方都可以从任何计算机ping”) 回答2 迟了几年,但希望这会对其他人有所帮助... 1)首先确保EC2实例具有公共IP。 如果具有公共DNS或公共IP地址(在下面圈出),那么您应该很好。 这就是您要查询的地址。 2)接下来,确保Amazon网络规则允许Echo Requests 。 转到EC2的安全组。 右键单击,选择入站规则答:选择添加规则 B:选择自定义ICMP规则-IPv4 C:选择回显请求 D:选择“任意位置”或“我的IP” E:选择保存 3)接下来,Windows防火墙默认会阻止入站Echo请求。 通过创建Windows防火墙例外来允许Echo请求... 转到“开始”,然后键入具有高级安全性的Windows防火墙。 选择入站规则 4)做完! 希望您现在应该能够ping您的服务器。 回答3 您必须编辑EC2实例所属的安全组并允许访问(或者创建一个新的安全组并将其添加到其中)。 默认情况下,所有内容均被拒绝。 您需要添加到安全组的例外取决于您需要使Internet可用的服务。 如果是网络服务器,则需要允许访问端口80的0.0.0.0
  • 万字讲解OpenWrt防火墙iptables,并使用UCI配置防火墙
    一、防火墙简介 “防火墙”(Firewall)术语来自建筑设计领域,是指用来起分割作用的墙,当某一部分 着火时可以减缓或保护其他部分免受火灾影响。在计算机网络中,防火墙是在两个或多个 网络之间用于设置安全策略的一个或多个系统的组合。防火墙起到隔离异常访问的作用, 仅允许可靠的流量通过,从而保护了家庭和企业内部网络信息的安全。下图是一 个典型的防火墙部署结构。 Linux防火墙通常包含两部分,分别为: iptables。netfilter。 二、iptables防火墙工具简介 iptables是用C语言实现的,最新版本是1.4.21,并以GNU许可协议发布。它实际上包含两部分:内核netfilter和用户空间工具 iptables。管理员通过iptables工具集和内核打交道,将防火墙规则写入内核中。内核netfilter执行报文过滤规则。iptables是Linux管理防火墙规则的命令行工具,处于用户空间。netfilter执行报文过滤,处于Linux内核空间。有时候也会用 iptables 来统称Linux防火墙。iptables 是一个报文状态检测防火墙,这意味着防火墙内部存储每一个连接的信息,并且可以将每一个报文关联到它所属的连接。这个信息非常有用,它用于自动打开响应报文的传输路径,因此在创建防火墙规则时,通常没有必要创建相反方向的防火墙规则,防火 墙将自动计算出这个规则。
  • linux shell常用命令简述与linux拒绝root登陆的解决方案
    CATALOG 搭建临时的http服务器iptablestcpdumpstracemvchownchattr命令文件权限属性设置nlsedsortsystemctluniqheadpwdtartailmountnc传送文件端口扫描 zipnodejsgeditsetsidlsawkrmnohupjobsfgcontrol +z/cbgcpwgetrdesktoppsnetstatlsofcurlSCP命令lastwtoplastlog用户添加与删除arp其他linux拒绝root登陆的解决方案 附录 linux命令大全https://man.linuxde.net/ Linux权限详解(chmod、600、644、666、700、711、755、777、4755、6755、7755) 搭建临时的http服务器 python3 -m http.server 9999 #搭建服务器,访问端口为9999 iptables 规则的次序非常关键,谁的规则越严格,应该放的越靠前,而检查规则的时候,是按照从上往下的方式进行检查的。 -t, --table table 对指定的表 table 进行操作, table 必须是 raw, nat,filter,mangle 中的一个。如果不指定此选项,默认的是 filter 表。 # 通用匹配:源地址目标地址的匹配 -p:指定要匹配的数据包协议类型;
  • 在Ubuntu下docker + ufw的最佳实践是什么(What is the best practice of docker + ufw under Ubuntu)
    问题 我刚刚试用了Docker。 它很棒,但似乎不能与ufw一起很好地工作。 默认情况下,docker将对iptables进行一些操作。 结果不是错误,但不是我所期望的。 有关更多详细信息,请阅读UFW + Docker的危险 我的目标是建立一个像 Host (running ufw) -> docker container 1 - nginx (as a reverse proxy) -> docker container 2 - node web 1 -> docker container 3 - node web 2 -> ....... 我想通过ufw管理传入流量(例如,限制访问),因此我不希望docker触摸我的iptables。 这是我的测试 环境: 新安装的Ubuntu 14.04(内核:3.13.0-53) Docker 1.6.2 启用UFW转发。(启用UFW转发) --iptables=false已添加到Docker守护程序中。 第一次尝试 docker run --name ghost -v /home/xxxx/ghost_content:/var/lib/ghost -d ghost docker run --name nginx -p 80:80 -v /home/xxxx/nginx_site_enable:/etc/nginx/conf.d:ro -