• 关于

    使用iptables

    的搜索结果

问题

云服务器 ECS Linux Centos 7 系统 下iptables 服务应该如何使用

boxti 2019-12-01 22:00:36 1746 浏览量 回答数 0

回答

Ubuntu通过apt安装LAMP环境#安装下面这几个包后就可以跑Discuz!这些常用PHP程序了 sudo apt-get install apache2 php5 php5-gd php5-mysqlnd mysql-server sudo service apache2 {status|start|stop|restart|reload} sudo service mysql {status|start|stop|restart|reload} Apache网站根目录 /var/www Apache主目录 /etc/apache2 Apache主配置文件 /etc/apache2/apache2.conf Apache日志 /var/log/apache2 PHP主目录 /etc/php5 PHP配置文件 /etc/php5/apache2/php.ini PHP模块位置 /usr/lib/php5 MySQL配置文件 /etc/mysql/my.cnf MySQL数据库文件 /var/lib/mysql 运行 mysql_secure_installation 设置mysql根用户密码 防火墙只开放ssh(22端口),http(80端口): Ubuntu使用ufw可以这样做: sudo ufw enable && \ sudo ufw default deny && \ sudo ufw allow 22/tcp && \ sudo ufw allow 80/tcp && \ sudo ufw status 可以这样删除,比如80端口: sudo ufw delete allow 80/tcp Ubuntu使用iptables可以这样做: sudo ufw disable && sudo ufw default allow 设置INPUT/FORWARD/OUTPUT为ACCEPT,如果为DENY,下一步骤将使系统的所有网络访问中断,包括ssh. sudo iptables -F && sudo iptables -X && sudo iptables -Z && sudo iptables -L sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT sudo iptables -A INPUT -i lo -j ACCEPT sudo iptables -A INPUT -p tcp -i eth0 --dport 22 -j ACCEPT sudo iptables -A INPUT -p tcp -i eth0 --dport 80 -j ACCEPT sudo iptables -A INPUT -j DROP iptables-save > /etc/iptables.up.rules 切换到root用户执行,sudo会提示无权限.Redhat的保存操作为service iptables save. sudo nano /etc/network/interfaces 在末尾添加一行,在网络启动时应用防火墙规则: pre-up iptables-restore < /etc/iptables.up.rules 查看设置的规则: sudo iptables -nvL --line-numbers 插入一条规则到INPUT链第6的位置: sudo iptables -I INPUT 6 -j DROP 修改INPUT链的第6条规则: sudo iptables -R INPUT 6 -j ACCEPT 删除INPUT链第6条规则: sudo iptables -D INPUT 6 ssh使用密钥验证登录: #生成密钥对(私钥id_rsa和公钥id_rsa.pub) ssh-keygen cd ~/.ssh cat id_rsa.pub >> authorized_keys #使用密钥登录后禁止密码认证 sudo nano /etc/ssh/sshd_config PasswordAuthentication no #重启服务生效 sudo service ssh restart 如果你要使用最新的PHP7,最好还是学习一下自行编译,比如: Ubuntu上Nginx/Apache/PHP编译打包教程

a123456678 2019-12-02 02:59:05 0 浏览量 回答数 0

回答

.增加规则 本例中的规则将会阻止来自某一特定IP范围内的数据包,因为该IP地址范围被管理员怀疑有大量恶意攻击者在活动: # iptables -t filter -A INPUT -s 123.456.789.0/24 -j DROP 也可以很轻易地阻止所有流向攻击者IP地址的数据包,该命令稍有不同: # iptables -t filter -A OUTPUT -d 123.456.789.0/24 -j DROP 注意这里的A选项,如前所述,使用它说明是给现有的链添加规则。 4.删除规则 网络上的恶意攻击者总是在变化的,因此需要不断改变IP。假设一个网上攻击者转移到新的IP地址,而其老的IP地址被分配给一些清白的用户,那么这时这些用户的数据包将无法通过你的网络。这种情况下,可以使用带-D选项的命令来删除现有的规则: # iptables -t filter -D OUTPUT -d 123.456.789.0/24 -j DROP 5.缺省的策略 创建一个具有很好灵活性、可以抵御各种意外事件的规则需要大量的时间。对于那些没有时间这样做的人,最基本的原则是“先拒绝所有的数据包,然后再允许需要的”。下面来为每一个链设置缺省的规则: # iptables -P INPUT DROP # iptables -P FORWARD DROP # iptables -P OUTPUT ACCEPT 这里选项-P用于设置链的策略,只有三个内建的链才有策略。这些策略可以让信息毫无限制地流出,但不允许信息流入。很多时候需要接收外部信息,则可使用以下命令: # iptables -t filter -A INPUT -s 127.0.0.0/24 -j ACCEPT 6.SYN的使用 不能关闭所有端口,也不能只指定某些端口处于打开状态,那么怎样才能设置一个有效的规则,既可以允许普通用户正常通过,又可以阻止恶意攻击者访问网络呢? 刚开始使用iptables的人可以充分利用syn标识来阻止那些未经授权的访问。iptables只检测数据包的报头,事实上,除iptables以外,很多其它有用的数据包分析都是基于报头的。比如,在进行Web冲浪时,一个请求从你的PC发送至其它地方的Web服务器上,该服务器会响应请求并发回一个数据包,同时得到你系统上的一个临时端口。与响应请求不同的是,服务器并不关心所传送的内容。可以利用这种特点来设置规则,让它阻止所有没有经过你系统授权的TCP连接: # iptables -t filter -A INPUT -i eth0 -p tcp --syn -j DROP 这里的-i指的是网卡,-p则是指协议,--syn则表示带有syn标识设置的TCP数据包。SYN用于初始化一个TCP连接,如果自己机器上没有运行任何服务器,别人也就不会向你发送SYN数据包。 7.有状态的数据包的检测 前边的例子把每一个数据包看成是独立的,而不是相互关联的,依靠的是数据包的头信息。iptables会检查数据包的源和目的IP地址、源和目的端口、流入数据包的顺序号、TCP先后顺序的信息及头标记(SYN、ACK、FIN、RST等)的状态,即它会跟踪整个连接会话,从而使整个过滤过程是相互关联的。 8.共享一个Internet连接 网络地址翻译和IP伪装都可以实现多台主机共享一个Internet连接,这个局域网可以是Linux和Windows系统组成的多系统局域网。假设现在有一台机器,配有两个网卡,其中eth0为“公共”网卡,eth1为“私有”网卡,即eth0被分配了一个静态的、可路由的IP地址,而eth1被分配了一个私有的、不能路由的IP,该IP是属于该局域网子网的。要实现上述功能,需要向nat和filter表中添加一些链: # iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE # iptables -t filter -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT # iptables -t filter -A FORWARD -i eth1 -o eth0 -j ACCEPT 这显示了有状态的数据包检测的价值。请注意,这里是如何实现流入数据包只有在属于一个已经存在的连接时才被允许,而所有来自局域网内流向外的数据包则都允许通过。第一条规则让所有流出的信息看起来都是来自防火墙机器的,而并不会显示出防火墙后面还有一个局域网。 下面的命令为FORWARD和POSTROUTING链设置缺省的策略,在使用伪装时,有一个缺省的POSTROUTING DROP策略非常重要,否则就可能有心怀恶意的用户突破网关后伪装自己的身份。 # iptables -t filter -P FORWARD DROP # iptables -t nat -P POSTROUTING DROP 下面的命令为拨号连接设置,它可以动态地分配IP地址: # iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE 9.运行服务器时的情况 有时也会把服务器放置在防火墙后面,这时iptables就需要知道从哪儿通过数据包,设置如下所示: # iptables -t nat -A PREROUTING -i eth0 -p tcp -dport 80 -j DNAT -to 192.168.0.10:80 # iptables -t nat -A PREROUTING -i eth0 -p tcp -dport 25 -j DNAT -to 192.168.0.11:25 10.规则的保存 到现在为止,所有的例子都是在命令行中进行的。在测试新的规则时,这是一种很好的方式,但一旦测试结果令人满意,就可以将它们保存为脚本。可以使用 iptables-save 命令来实现: $ iptables-save > iptables-script 信息包过滤表中的所有规则都被保存在文件iptables-script中。无论何时再次引导系统,都可以使用iptables-restore命令将规则集从该脚本文件恢复到信息包过滤表。恢复命令如下所示: $ iptables-restore iptables-script 如果愿意在每次引导系统时自动恢复该规则集,则可以将上面指定的这条命令放到任何一个初始化Shell脚本中。 下面的例子并不是一个完整的脚本,它只是描述了如何使用变量及提供了一些附加的规则样例。 #!/bin/sh #为变量赋值 IPTABLES=/sbin/iptables LAN_NET="192.168.1.0/24" IFACE= "eth0" LO_IFACE="lo" LO_IP="127.0.0.1" #加载所需的内核 /sbin/modprobe ip_conntrack /sbin/modprobe iptable_nat #缺省情况下,IP转发都处于不可用状态,将其设置为可用状态: echo "1" > /proc/sys/net/ipv4/ip_forward #使IP的动态分配功能可用 echo "1" > /proc/sys/net/ipv4/ip_dynaddr #每次重启这个脚本时,最好清除以前所设的规则 $IPTABLES -P INPUT DROP $IPTABLES -F INPUT $IPTABLES -P OUTPUT ACCEPT $IPTABLES -F OUTPUT $IPTABLES -P FORWARD DROP $IPTABLES -F FORWARD $IPTABLES -F -t nat #只允许在LAN中使用SSH连接 $IPTABLES -A INPUT -s LAN_NET -p tcp --destination-port ssh -j ACCEPT #允许loopback! $IPTABLES -A INPUT -i lo -p all -j ACCEPT $IPTABLES -A OUTPUT -o lo -p all -j ACCEPT #丢弃那些流入的宣称是来自本地机器的数据包 #丢弃那些流出的不是出自本地机的数据包 $IPTABLES -A INPUT -i $IFACE -s $LAN_NET -j DROP $IPTABLES -A OUTPUT -o $IFACE -s ! $LAN_NET -j DROP #限制一些流出的信息 $IPTABLES -A OUTPUT -o eth0 -p tcp -dport 31337 -j DROP $IPTABLES -A OUTPUT -o eth0 -p tcp -sport 31337 -j DROP #此外,31335、27444、27665、20034 NetBus、9704、137-139(smb)端口也应被禁止。 iptables -D INPUT -s 127.0.0.1 -p icmp -j ACCEPT /etc/rc.d/init.d/iptables save

云栖技术 2019-12-02 02:36:51 0 浏览量 回答数 0

阿里云高校特惠,助力学生创业梦!0元体验,快速入门云计算!

学生动手场景应用,快速了解并掌握云服务器的各种新奇玩法!

回答

详细解答可以参考官方帮助文档前提条件:您只有在已授权可关闭 iptables 的情况下,才能做该项排查。故障现象:SSH 无法连接,关闭 iptables 后连接恢复。解决方法:调整 iptables 配置策略。 查看防火墙规则: iptables -nvL –line-number L 查看当前表的所有规则,默认查看的是 filter 表,如果要查看 NAT 表,可以加上 -t NAT 参数。 n 不对 IP 地址进行反查,加上这个参数显示速度会快很多。 v 输出详细信息,包含通过该规则的数据包数量、总字节数及相应的网络接口。 修改规则。 若之前已设置过规则策略的,将原有的 iptables 文件保存一份,避免之前设置的策略丢失。 cp -a /etc/sysconfig/iptables /etc/sysconfig/iptables.bak 清空服务器上所有的规则。 iptables -F 设置 INPUT 方向所有的请求都拒绝。如果是线上业务请勿直接操作,会导致业务直接中断。 iptables -P INPUT DROP 设置 iptables 防火墙后需放行 22 号端口,否则会导致无法远程。 iptables -A INPUT -p tcp --dport 22 -j ACCEPT iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT 指定 IP 访问22号端口。 iptables -I INPUT -s 192.168.1.1 -p tcp --dport 22 -j ACCEPT 说明: 192.168.1.1 为请求端 IP 地址。 使用 iptables -L 查看一下添加的规则是否生效。 iptables -L 保存添加的规则。 iptables-save > /etc/sysconfig/iptables 设置后需要重启iptables。 service iptables restart 或 /etc/init.d/iptables restart 操作完成后,重启服务器进行配置验证。 systemctl reboot完成操作后,请再进行 SSH 连接。

2019-12-01 23:15:33 0 浏览量 回答数 0

问题

Linux上iptables防火墙的基本应用教程

chuanshuolian 2019-12-01 20:18:08 15605 浏览量 回答数 6

回答

问题原因 这是由于新系统没有配置使用过 iptables,因此在 /etc/sysconfig 中没 有iptables 的配置文件。 解决方法 添加任意一条防火墙规则,命令如下: iptables -P OUTPUT ACCEPT 保存 iptables 策略: service iptables save   执行启动 iptables 的命令启动: service iptables start

KB小秘书 2019-12-02 01:28:15 0 浏览量 回答数 0

问题

使用的军哥lnmp,iptables如何设置

外汇站 2019-12-01 21:32:01 5537 浏览量 回答数 0

问题

iptbales无法正常重启

loading)3 2019-12-01 21:27:16 3913 浏览量 回答数 2

问题

centos7.x更换firewalld为iptables

买醉 2019-12-01 22:03:47 5921 浏览量 回答数 0

问题

如下iptables配置80端口还有问题?

a123456678 2019-12-01 20:09:39 950 浏览量 回答数 1

问题

为什么云服务器 ECS Linux 新购服务器iptables无法启动

boxti 2019-12-01 22:01:27 1484 浏览量 回答数 0

回答

使用iptables-restore < /etc/iptables.rules重启过的,这个使用iptables -L -n 是可以查看的

1095544942386926 2019-12-02 01:16:29 0 浏览量 回答数 0

问题

Ubuntu16.04 打算开放一个一个端口给自定义的服务使用,在安全组中开放后没生效

lwg_nvoycc6bbpf7w 2020-08-10 10:39:52 9 浏览量 回答数 1

回答

使用 iptables, 按照进程所属用户匹配从本地流出的包:iptables -I OUTPUT -m owner --uid-owner www-data然后即可在 iptables 中看到统计信息:iptables -L -v效果:Chain OUTPUT (policy ACCEPT 1277 packets, 484K bytes) pkts bytes target prot opt in out source destination 277K 431M all -- any any anywhere anywhere owner UID match www-data

a123456678 2019-12-02 02:53:19 0 浏览量 回答数 0

问题

阿里云服务器上如何使用iptables设置安全策略

新湖 2019-12-01 21:06:10 11199 浏览量 回答数 1

回答

1.提高22端口在iptables里面的顺序,理论上优先级会高一些.2.使用iptables或nginx对下载端口限速,具体可参考下iptables limit或hashlimit的相关文档.

a123456678 2019-12-02 02:57:18 0 浏览量 回答数 0

回答

回 楼主(不要说话) 的帖子 您好! 核实了提供的系统里确实没有iptables.如果需要使用iptables,可以自己配置下规则,然后services iptables save保存就有了。

阿里云支持与服务 2019-12-02 00:56:28 0 浏览量 回答数 0

问题

无法使用telnet登入ECS服务器某个端口

jon0907 2019-12-01 21:28:49 3976 浏览量 回答数 2

回答

linux的防火墙一般是iptables,还有一个是selinux,要开机关闭这两个方法如下: 开机不自动启动iptables使用命令:chkconfig iptalbes off命令 开机不启动selinux,需要更改文件vi /etc/selinxu/config 和 vi /etc/sysconfig/selinux  两个文件,将其中的SELINUX=enforcing改为SELINUX=disabled重启服务器即可。 需要说明的是对于Linux下的其它服务都可以用以上命令执行开启和关闭操作:  在开启了防火墙时,做如下设置,开启相关端口; 修改/etc/sysconfig/iptables 文件,添加以下内容: -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT。 重启后生效  开启: chkconfig iptables on   关闭: chkconfig iptables off ; 即时生效,重启后失效  开启: service iptables start  关闭: service iptables stop 。 答案来源于网络

养狐狸的猫 2019-12-02 03:00:36 0 浏览量 回答数 0

问题

阿里云服务器linux配置iptables

qinfang 2019-12-01 21:06:09 14375 浏览量 回答数 2

问题

esc实例的pptpd配置好后,客户端无法连接vpn

游客lseo6nyms343u 2020-09-17 12:00:22 2 浏览量 回答数 0

问题

使用iptables拦截指定的URL

阿里云柳璃 2019-12-01 21:45:42 5884 浏览量 回答数 2

问题

云服务器ECS Linux iptables 关联默认加载异常导致启动报错: modules are not loaded

boxti 2019-12-01 22:01:38 1401 浏览量 回答数 0

问题

请教个问题,关于服务器的

allyess 2019-12-01 22:04:55 4874 浏览量 回答数 3

问题

云服务器 ECS Linux Centos 7 系统 下iptables 服务如何使用?

行者武松 2019-12-01 19:33:33 852 浏览量 回答数 1

回答

回 4楼(so-u) 的帖子 linux系统使用iptables映射很简单 3条规则就可以 /sbin/iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080 /sbin/iptables -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT /sbin/iptables -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 8080 -j ACCEPT 至于win系统 ,也简单,可以借助第3方端口映射转发器软件,比如PortTunnel

买醉 2019-12-02 02:32:40 0 浏览量 回答数 0

回答

下图显示了无法连接 ECS 实例的原因分类和出现概率。若无法连接实例,建议您根据如下原因进行排查。 首先尝试远程连接 无论何种原因导致无法远程连接实例,请先尝试用阿里云提供的远程连接功能进行连接,然后再按原因分类进行故障排查。 登录   云服务器管理控制台。 找到需要连接的实例,在找到需要连接的实例,在   操作  列,单击   远程连接。 连接   管理终端。首次连接,需要先复制密码。 输入密码后,连接实例 。 若忘记密码,单击若忘记密码,单击   修改管理终端的密码,设置新密码。I/O 优化的实例,修改密码后即时生效,无需重启。 无法连接ECS实例排查思路 请根据如下各原因序逐一排查: 客户端本地网络异常 [出现概率:3%] 重置实例密码,未重启 ECS 实例 [出现概率:7%] iptables 配置异常(Centos 6)[出现概率:10%] 安全组公网规则 [出现概率:8%] 远程访问端口配置异常 [出现概率:10%] CPU 负载过高 [出现概率:9%] 1. 客户端本地网络异常 [出现概率:3%] 故障现象:用户无法登录外网。 可能原因:网卡驱动未开启或网卡配置有问题。 解决方法:查找 /etc/hosts.deny 看是否有拦截IP;检查网卡驱动,重新安装。 2. 重置实例密码,未重启实例 [出现概率:7%] 故障现象:有实例密码修改记录,但无重启实例记录。 可能原因:您修改了实例密码,但是未重启 ECS 实例。 解决方法: 登录 云服务器管理控制台。 单击左侧导航栏中的   实例。 单击页面顶部的地域。 选择需要的实例。单击   重启。 在弹出的提示框中,选择   重启,单击   确定。 3. iptables 配置异常(Centos 6)[出现概率:10%] 前提条件:您只有在已授权可关闭 iptables 的情况下,才能做该项排查。 故障现象:SSH 无法连接,关闭 iptables 后连接恢复。 解决方法:调整 iptables 配置策略。 查看防火墙规则: iptables -nvL –line-number L 查看当前表的所有规则,默认查看的是 filter 表,如果要查看 NAT 表,可以加上 -t NAT 参数。 n 不对 IP 地址进行反查,加上这个参数显示速度会快很多。 v 输出详细信息,包含通过该规则的数据包数量、总字节数及相应的网络接口。 修改规则。 若之前已设置过规则策略的,将原有的 iptables 文件保存一份,避免之前设置的策略丢失。 cp -a /etc/sysconfig/iptables /etc/sysconfig/iptables.bak 清空服务器上所有的规则。 iptables -F 设置 INPUT 方向所有的请求都拒绝。如果是线上业务请勿直接操作,会导致业务直接中断。 iptables -P INPUT DROP 设置 iptables 防火墙后需放行 22 号端口,否则会导致无法远程。 iptables -A INPUT -p tcp --dport 22 -j ACCEPT iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT 指定 IP 访问22号端口。 iptables -I INPUT -s 192.168.1.1 -p tcp --dport 22 -j ACCEPT 说明: 192.168.1.1 为请求端 IP 地址。 使用   iptables -L  查看一下添加的规则是否生效。 iptables -L 保存添加的规则。 iptables-save > /etc/sysconfig/iptables 设置后需要重启iptables。 service iptables restart 或 /etc/init.d/iptables restart 操作完成后,重启服务器进行配置验证。 systemctl reboot 完成操作后,请再进行 SSH 连接。 4. 安全组公网规则 [出现概率:8%] 故障现象:ECS 服务器无法ping通,排查iptables、网卡IP配置无误,回滚系统后仍然无法ping通。 可能原因:ECS 实例安全组默认的公网规则被删除。 解决方法:重新配置 ECS 实例的安全组公网规则,具体操作详见 ECS实例安全组默认的公网规则被删除导致无法ping通。 5. 远程访问端口配置异常 [出现概率:10%] 故障现象:SSH 远程无法连接,远程访问端口非默认端口。 可能原因:更改了远程访问端口配置,有可能防火墙未对自定义端口放开。 解决方法:客户端无法正常登录时,建议先使用不同的 SSH 客户端基于相同账户信息进行登录测试。如能正常登录,则判断是客户端配置问题,需对客户端配置做排查分析。 使用 telnet 测试现有监听端口连通性。使用 Linux 自带的 telnet 工具测试现有端口的连通性。telnet <host> <port> # host 是目标服务器 IP,port是待测试端口号 修改或查看Linux远程端口: vi /etc/ssh/sshd_config 找到 #port 22 这一行,默认端口为 22,可以把前面的#删除,把 22 改为其它的端口。 重启SSH服务: /etc/init.d/sshd restart 或 service sshd restart 创建新的监听端口测试。 可以使用 python 自带的 Web 服务器用于临时创建新的监听端口进行测试。python -m SimpleHTTPServer <所需端口号> 说明: 您可以通过自动测试默认端口来检测远程访问端口的问题。 服务监听能使用的端口范围为 0~65535,错误配置监听端口会导致远程桌面服务监听失败。 6. CPU 负载过高 [出现概率:9%] 故障现象:CPU 负载过高导致系统无法进行远程连接。 解决方法:您无法主动监控系统内部的程序运行状态,可以借助   云监控  >   主机监控  >   进程监控  来实现。 查看应用运行情况,排除 CPU 负载过高的原因。查看 CPU 负载问题详见 云服务器 ECS Linux 系统 CPU 占用率较高问题排查思路。 注意:在某个时间段 CPU 负载过高可能导致远程连接失败,建议您查询是否程序或者实例资源不满足现有要求。 最后尝试重启实例 若用阿里云提供的远程连接功能仍无法成功连接实例,请尝试重启实例。重启操作会使实例停止工作,从而中断业务,请谨慎执行。 注意:重启实例前,需对实例创建快照,用于数据备份或者制作镜像。创建快照的方法详见:创建快照。 在控制台重启实例。重启实例后,请再次尝试实例连接。 通过上述排查后,若 ECS 实例仍不能连接,请您记录前述各步骤的排查结果、相关日志信息或截图,然后联系售后技术支持。 望采纳,谢谢🙏

元芳啊 2019-12-02 00:12:57 0 浏览量 回答数 0

回答

转载自:https://linux.cn/article-4904-1.html 在Linux中,可以很简单地用netfilter/iptables框架禁止IP地址: $ sudo iptables -A INPUT -s 1.1.1.1 -p TCP -j DROP 如果你想要完全屏蔽一个IP地址段,你可以用下面的命令很简单地做到: $ sudo iptables -A INPUT -s 1.1.2.0/24 -p TCP -j DROP 然而,当你有1000个独立IP地址,且不带CIDR(无类别域间路由)前缀,你该怎么做?你要有1000条iptable规则!这显然这并不适于大规模屏蔽。 $ sudo iptables -A INPUT -s 1.1.1.1 -p TCP -j DROP$ sudo iptables -A INPUT -s 2.2.2.2 -p TCP -j DROP$ sudo iptables -A INPUT -s 3.3.3.3 -p TCP -j DROP. . . . 什么是IP集? 这时候就是 IP集登场了。IP集是一个内核特性,它允许多个(独立)IP地址、MAC地址或者甚至是端口号被编码和有效地存储在位图/哈希内核数据结构中。一旦IP集创建之后,你可以创建一条iptables规则来匹配这个集合。 你马上就会看见IP集合的好处了,它可以让你用一条iptable规则匹配多个ip地址!你可以用多个IP地址和端口号的方式来构造IP集,并且可以动态地更新规则而没有性能影响。 在Linux中安装IPset工具 为了创建和管理IP集,你需要使用称为ipset的用户空间工具。 要在Debian、Ubuntu或者Linux Mint上安装: $ sudo apt-get install ipset Fedora或者CentOS/RHEL 7上安装: $ sudo yum install ipset 使用IPset命令禁止IP 让我通过简单的示例告诉你该如何使用ipset命令。 首先,让我们创建一条新的IP集,名为banthis(名字任意): $ sudo ipset create banthis hash:net 第二个参数(hash:net)是必须的,代表的是集合的类型。IP集有 多个类型。hash:net类型的IP集使用哈希来存储多个CIDR块。如果你想要在一个集合中存储单独的IP地址,你可以使用hash:ip类型。 一旦创建了一个IP集之后,你可以用下面的命令来检查: $ sudo ipset list 现在是时候去创建一个使用IP集的iptables规则了。这里的关键是使用"-m set --match-set "选项。 现在让我们创建一条让之前那些IP块不能通过80端口访问web服务的iptable规则。可以通过下面的命令: $ sudo iptables -I INPUT -m set --match-set banthis src -p tcp --destination-port 80 -j DROP 如果你愿意,你可以保存特定的IP集到一个文件中,以后可以从文件中还原: $ sudo ipset save banthis -f banthis.txt$ sudo ipset destroy banthis$ sudo ipset restore -f banthis.txt 上面的命令中,我使用了destory选项来删除一个已有的IP集来看看我是否可以还原它。

青蛙跳 2019-12-01 23:49:51 0 浏览量 回答数 0

问题

#技塑人生# Linux系统下使用iftop结合iptables服务解决带宽被恶意请求的问题

qiujin2012 2019-12-01 22:05:33 8971 浏览量 回答数 3

回答

问题现象 启动或者关闭防火墙没任何的提示以及报错,查看防火墙的运行状态出现类似如下错误: iptables: Firewall modules are not loaded. 问题原因 iptables 服务的依赖模块没有加载导致启动的时候失败。 解决方法 iptables 服务的运行依赖 iptable_filter 和 ip_tables 2个模块,可以使用 lsmod |grep iptable 命令查看: lsmod |grep iptable 如果模块丢失,则使用下面命令重新加载,然后重启服务验证: modprobe ip_tables modprobe iptable_filter

KB小秘书 2019-12-02 02:06:38 0 浏览量 回答数 0
阿里云大学 云服务器ECS com域名 网站域名whois查询 开发者平台 小程序定制 小程序开发 国内短信套餐包 开发者技术与产品 云数据库 图像识别 开发者问答 阿里云建站 阿里云备案 云市场 万网 阿里云帮助文档 免费套餐 开发者工具 企业信息查询 小程序开发制作 视频内容分析 企业网站制作 视频集锦 代理记账服务 2020阿里巴巴研发效能峰会 企业建站模板 云效成长地图 高端建站