Linux安全之——Ubuntu的iptable命令使用
设置开机自动启动iptables
# sysv-rc-conf --level 2345 iptables on
列出当前iptables的策略和规则
# iptables -L -n
允许已经建立的连接收数据
# iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
开放22号端口(SSH的默认端口),告诉iptables,允许接受到的所有目标端口为22的 TCP报文通过
# iptables -A INPUT -p tcp -i eth0 --dport ssh -j ACCEPT // 注:ssh代表22,可以在/etc/services中查到的服务都可以这样使用
添加策略。策略也是一种规则,当所有规则都不匹配时,使用链的“策略”
链:INPUT, PREROUTING, FORWARD, POSTROUTING, OUTPUT
链策略的默认值是:ACCEPT。
表:filter (默认),nat,mangle。
#iptables -P INPUT DROP
#iptables -P OUTPUT ACCEPT
#iptables -P FORWARD DROP
----------------------------------------------------
root@patrick:~# iptables -L -n
Chain INPUT (policy DROP)
target prot opt source destination
ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:22
Chain FORWARD (policy DROP)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:22
----------------------------------------------------
启动包转发功能
将内网的FTP请求转发到外网的一个主机上。
# iptables -t nat -A PREROUTING -p tcp -dport 21 -j DNAT --to-dest 10.25.1.7:21
查看:
# iptables -L -t nat
要实现包转发,还需要编辑内核参数。
# cat /proc/sys/net/ipv4/ip_forward
0
默认包转发是禁止的。于是需要打开。编辑/etc/sysctl.conf,然后执行sysctl -p。
保存iptables的规则
# iptables-save > /etc/iptables.up.rules // step 1) 保存当前iptables的规则到文件中。
# pre-up iptables-restore < /etc/iptables.up.rules // step 2) 开机恢复iptables的规则。方法是添加下面这行到文件‘/etc/network/interfaces/’ 的末尾。
禁用防火墙
# iptables -F
似乎Ubuntu中没有类似service iptables stop这样的命令来暂停iptables。只能使用这种方法来禁用iptables(防火墙)。
使用前,请保证规则已经备份在文件中。
Linux安全之——Ubuntu的iptable命令使用的更多相关文章
- Ubuntu Linux下设置IP的配置命令
Ubuntu Linux下设置IP的配置命令 今天装了Ubuntu,但是发现不能上网,开始排查问题: 1.首先确定网络连接是否正确,所用的网线是否可以正常工作 2.查看网卡是否能正常工作,检测的方法如 ...
- MTK 使用iptable 命令来完成网络路由(android WIFI/4G分享网络)
很多时候,总有些奇怪的需求,这时候是发挥我们的聪明才智的时候!! 有客户的需求是: 公网 WIFI 4G/其他网络 以太网1 以太网2 内部设备 描述下需求:现今有一个控制设备,里面有WIFI,物联网 ...
- Linux的简单介绍和常用命令的介绍
Linux的简单介绍和常用命令的介绍 本说明以Ubuntu系统为例 Ubuntu系统的安装自行百度,或者参考http://www.cnblogs.com/CoderJYF/p/6091068.html ...
- ASP.NET Core 发布至Linux生产环境 Ubuntu 系统
ASP.NET Core 发布至Linux生产环境 Ubuntu 系统,之前跟大家讲解了 dotnet publish 发布,而没有将整个系统串起来. 今天就跟大家综合的讲一下ASP.NET Core ...
- 学习Linux系列--安装Ubuntu
最近学习Linux,使用虚拟机太不方便,于是购买了阿里云最便宜的云主机作为学习设备. 本系列文章记录了个人学习过程的点点滴滴. 学习Linux系列--安装Ubuntu 学习Linux系列--安装软件环 ...
- Linux简介及Ubuntu安装
Linux简介及Ubuntu安装 常见指令 系统管理命令 打包压缩相关命令 关机/重启机器 Linux管道 Linux软件包管理 vim使用 用户及用户组管理 文件权限管理 大牛笔记-www.weix ...
- Linux显示所有可更新的软件清单命令
Linux显示所有可更新的软件清单命令 youhaidong@youhaidong-ThinkPad-Edge-E545:~$ yum check-update 程序"yum"尚未 ...
- SLAM+语音机器人DIY系列:(一)Linux基础——2.安装Linux发行版ubuntu系统
摘要 由于机器人SLAM.自动导航.语音交互这一系列算法都在机器人操作系统ROS中有很好的支持,所以后续的章节中都会使用ROS来组织构建代码:而ROS又是安装在Linux发行版ubuntu系统之上的, ...
- Linux下提权常用小命令
有些新手朋友在拿到一个webshell后如果看到服务器是Linux或Unix操作系统的就直接放弃提权,认为Linux或Unix下的提权很难,不是大家能做的,其实Linux下的提权并没有很多人想象的那么 ...
随机推荐
- JS日历制作获取时间
1.直接获取 var myDate = new Date(); myDate.getYear(); 获取当前年份(2位) myDate.getFullYear(); 获取完整的年份(4位,1970-? ...
- iOS开发中的错误整理,再一次整理通过通知中心来处理键盘,一定记得最后关闭通知中心
一.打开通知中心,监听键盘的显示与隐藏 二.最后记得将监听通知的对象移除
- C#-WinForm-ListView-表格式展示数据、如何将数据库中的数据展示到ListView中、如何对选中的项进行修改
在展示数据库中不知道数量的数据时怎么展示最好呢?--表格 ListView - 表格形式展示数据 ListView 常用属性 HeaderStyle - "详细信息"视图中列标头的 ...
- c#如何使输入数据类型限制,C#如何添加限制
验证n位的数字:^\d{n}$ ,例如要输6位数字,不能多也不能少: ^\d{6}$ 验证数字的正则表达式集 验证数字:^[0-9]*$验证n位的数字:^\d{n}$验证至少n位数字:^\d{n,}$ ...
- 22 java当中的数组
class Test { public static void main(String args[]) { //数组的静态声明法 int arr[]={5,2,7,9,0}; //数组的动态声明法 i ...
- js学习笔记1---使用方法
1.获取对象: a) 通过名称来获取元素:document.getElementById() //属于静态方法,方法前面只能用document b) document.getElementsByCla ...
- 机器学习Python包
随着机器学习的逐日升温,各种相关开源包也是层出不群,面对如此多种类的工具包,该如何选择,有的甚至还知之甚少或者不知呢,本文简单汇总了一下当下使用比较多的Python版本机器学习工具包,供大家参看,还很 ...
- Xcode 的ARC转化功能以及跟非ARC共存方法
1.ARC工程跟非ARC文件的共存方法: 在工程中选择 Build Phases 然后选择Compile Sources 里面,找到需要共存的非ARC文件,然后按Enter键,在弹出的窗口中填入:-f ...
- HIVE: collect_set(输出未包含在groupby的字段);
今天帮同事测试,发现代码里有个好用的hive 函数: 1. collect_set 可以输出未包含在groupby里的字段.条件是,这个字段值对应于主键是唯一的. select a, collect_ ...
- Debugger 怎么用
Debugger 是一个很有用的工具,尤其对于workflow开发人员来说.可以帮助我们check 从source 到target的数据流.我们可以看到什么数据从source中流出,在接下来的tran ...