Ubuntu下Iptables的简单运用,开放/关闭端口,禁止/允许IP或IP段访问...
首先添加规则有两个参数:-A和-I,其中-A是添加到规则的末尾;-I可以插入到指定位置,没有指定位置的话默认插入到规则的首部,由于匹配规则是从上往下,依次查找的,可能出现配置的规则冲突导致后续的规则不起效
保存iptables规则
sudo iptables-save
保存ipv6 的iptables规则
sudo ip6tables-save
查看iptables规则
sudo iptables -L
查看iptables规则,以数字形式
sudo iptables -L -n
查看iptables规则的序号,用于删除规则参考
sudo iptables -L -n --line-numbers
清除所有iptables预设表filter里的所有规则
sudo iptabels -F
清除预设表filter中使用者自定链中的规则
sudo iptables -X
清除单条iptables规则
sudo iptables -D INPUT(链) 3(规则对应的序号)
修改单条iptables规则,使用 -R,修改INPUT链序号为3的规则为允许,第4条规则为拒绝,丢弃
sudo iptables -R INPUT 3 -j ACCEPT
sudo iptables -R INPUT 4 -j DROP
允许已经建立的连接发送和接收数据,以免设置链为DROP时远程ssh断开
sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
保证VPS可以运行的时候,可以为loopback网卡添加运行规则,插到第一行
sudo iptables -I INPUT 1 -i lo -j ACCEPT
允许某段IP访问本机的所有类型的所有端口
sudo iptables -I INPUT -s 192.168.2.0/24 -p all -j ACCEPT
sudo iptables -I INPUT -s 192.168.0.0/16 -p all -j ACCEPT
允许本机127.0.0.1访问自身所有端口
sudo iptables -I INPUT -s 127.0.0.1 -p all -j ACCEPT
允许某段IP访问本机的TCP 3306端口
sudo iptables -I INPUT -s 192.168.2.0/24 -p tcp --dport 3306 -j ACCEPT
允许某段IP访问本机的某段TCP端口
sudo iptables -I INPUT -s 192.168.2.0/24 -p tcp --dport 3306:65525 -j ACCEPT
向所有IP开放ssh的远程连接,这里是已经更改了的19515端口,默认为22端口
sudo iptables -A INPUT -p tcp --dport 19515 -j ACCEPT
默认INPUT OUTPUT FORWORD 链都是全部接受,需要改为拒绝
确保ssh远程连接端口已经添加进 IPUNT 允许规则中,否则执行以下命令将可能会断开远程
sudo iptables -A INPUT -p tcp --dport 19515 -j ACCEPT #这里ssh端口为19515
sudo iptables -P INPUT DROP
可选项,需保证SSH端口已经添加各链的允许规则,否则会断开SSH连接并无法远程连接
sudo iptables -P OUTPUT DROP
sudo iptables -P FORWORD DROP
iptables规则配置后,无法访问外网,无法接收返回的数据,进行以下配置,并保证OUTPUT状态为ACCEPT,会使iptables允许由服务器本身请求的数据通过
sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
sudo iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables 的持久化,由于重启ubuntu会导致iptables规则消失,需要持久化
1.安装iptables-persistent工具帮助我们持久化
sudo apt-get update
sudo apt-get install iptables-persistent -y
执行命令持久化
sudo netfilter-persistent save
sudo netfilter-persistent reload
2.将iptables规则存入文件,随网卡状态进行加载,保存
将iptables保存的规则保存入当前用户的文件
sudo iptables-save > /home/user/iptables.rules
在/etc/network/interfaces 网卡配置文件里加入相应内容
vim /etc/network/interfaces
添加内容
pre-up iptables-restore < /home/user/iptables.rules
post-down iptables-save > /home/user/iptables.rules
用到的参数解释:
pre-up: 网卡启用前的动作
up: 启用时候的动作
post-up: 启用后的动作
pre-down: 关闭前的动作
down: 关闭时动作
post-down: 关闭后动作
iptables的关闭,使用清除规则来实现
sudo iptables-save > /home/user/iptables.rules
sudo iptables -X 清除默认filter表里的自定义规则
sudo iptables -t nat -F 清除nat表里的规则
sudo iptables -t nat -X
sudo iptables -t mangle -F 清除nat表里的规则
sudo iptables -t mangle -X
sudo iptables -P INPUT ACCEPT 将INPUT链默认更改为全部接受
sudo iptables -P OUTPUT ACCEPT
sudo iptables -P FORWORD ACCEPT
如果想了解深入一些,我个人觉得这个博主写的挺不错的朱双印的个人博客-Iptables详解
Ubuntu下Iptables的简单运用,开放/关闭端口,禁止/允许IP或IP段访问...的更多相关文章
- solr的访问权限管理及ubuntu下iptables的设置
Apache Solr 是一个开源的搜索服务器,该平台默认允许匿名访问,攻击者可读取平台中各类敏感信息.之前考虑过增加账号密码访问,但是没有搞定,所以采用了曲线救国的方式,设置solr服务器只允许部分 ...
- Ubuntu下gcc的简单使用
一直不怎么用gcc,今天看了大神们的笔试题,不得不动手开始写程序了,差距那个大啊. gcc是ubuntu下的终端编译器,可以用来写C.C++的程序,简单用法如下: vim name1.c 先用vim打 ...
- linux下tomcat无法远程访问(开放8080端口)
我们在linux下配置了tomcat后发现,无法访问除了linux(如果是虚拟机的话,宿主机子根本无法访问tomcat),解决下吧 原因是我们的tomcat访问需要8080端口,但是从外部访问,我们的 ...
- centOs6和Centos7开放/关闭端口区别
#centos6启动防火墙 service iptables start #centos6停止防火墙/关闭防火墙 service iptables stop #centos6重启防火墙 servic ...
- linux iptables开放/关闭端口命令
在CentOS/RHEL 7以前版本上开启端口 #开放端口:8080/sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT#将更改进行保存/etc/ ...
- Ubuntu下crontab启动、重启、关闭命令
在Ubuntu14.04环境下,利用crontab编写shell脚本程序,定时执行php相关程序.在这个过程中,经常使用到的crontab命令如下: (root权限下) crontab启动:/etc/ ...
- Ubuntu下makefile的简单使用
在Windows下,只需要简单的点击以下make,rebuild即可.而在Linux下,这样的IDE环境并没有提供,难道必须每一步都执行一遍吗?比较ok的做法自然是能够利用批处理脚本来进行操作了,这样 ...
- [置顶] 在Ubuntu下实现一个简单的Web服务器
要求: 实现一个简单的Web服务器,当服务器启动时要读取配置文件的路径.如果浏览器请求的文件是可执行的则称为CGI程序,服务器并不是将这个文件发给浏览器,而是在服务器端执行这个程序,将它的标准输出发给 ...
- ubuntu下vim的简单配置
该文章只是进行符合自己习惯的最基本的配置,更加高级的配置请参考更加有含量的博文! 1.打开vim下的配置文件 sudo vim /etc/vim/vimrc 2.在这个文件中,会有这么一句:synta ...
随机推荐
- rabbitmq 持久化 事务 发送确认模式
部分内容来自:http://blog.csdn.net/hzw19920329/article/details/54315940 http://blog.csdn.net/hzw19920329/ar ...
- nginx中ngx_http_gzip_module模块
⽤用gzip⽅方法压缩响应数据,节约带宽gzip on;gzip_min_length 1000;gzip_proxied expired no-cache no-store private auth ...
- BZOJ 3812 主旋律 (状压DP+容斥) + NOIP模拟赛 巨神兵(obelisk)(状压DP)
这道题跟另一道题很像,先看看那道题吧 巨神兵(obelisk) 题面 欧贝利斯克的巨神兵很喜欢有向图,有一天他找到了一张nnn个点mmm条边的有向图.欧贝利斯克认为一个没有环的有向图是优美的,请问这张 ...
- BZOJ 4864: [BeiJing 2017 Wc]神秘物质 (块状链表/平衡树 )
这就是一道数据结构裸题啊,最大极差就是区间最大值减最小值,最小极差就是相邻两个数差的最小值.然后平衡树splay/treap或者块状链表维护就行了. 第一次自己写块状链表,蛮好写,就是长..然后就BZ ...
- 00_UnorderedObjectListWarning: Pagination may yield inconsistent results with an unordered object_list: # <class 'django.contrib.auth.models.Group'> QuerySet.
访问groups时,后端报警告 UnorderedObjectListWarning: Pagination may yield inconsistent results with an unorde ...
- CF350E Wrong Floyd
洛谷题目链接 前言: 这题其实真的不难 回归正题: 我们首先要明白$floyd$的思想,相信你都来做这道水题了,肯定不陌生,简单的手玩后,我们可以发现: 只要有任意一个点只跟非标记点相连的话,是更新不 ...
- 为什么margin:0 auto不能用于inline-block元素
前言:今天一个实习生问我,为什么他对图片使用了margin:0 auto,但图片却没有居中,我让他换成对父元素使用text-align:center即可.为什么margin:0 auto对图片不起作用 ...
- [Luogu] 让我们异或吧
https://www.luogu.org/problemnew/show/P2420 异或满足 A ^ B = B ^ A A ^ A = 0 0 ^ A = A #include <cstd ...
- uiautomator2 wifi连接手机
[实施方法] 手机和电脑同时连接到同一个wifi上 1.开启远程adb #开启远端adb,这一步需要手机通过USB连接到电脑 adb tcpip 5555 #结果如下:restarting in TC ...
- 课下选做作业MyOD
2019-2020-1 20175227 <信息安全系统设计基础> 课下选做作业MyOD 要求 复习c文件处理内容 编写myod.c 用myod XXX实现Linux下od -tx -tc ...