再谈 iptables 防火墙的 指令配置
手机上使用localhost为什么不能访问?
- 电脑上使用localhost 访问主页的原理是 电脑上有网站资源和服务器相关程序apache等的支持, 同时在 电脑的hosts文件中 有 127.0.0.1 到localhost的映射
. 而手机上的hosts文件中 是没有 这样的映射的,即使有,也不可以使用localhost,因为手机本机上并没有网站资源和apache等. 只有创建 localhost 到 电脑主机对
应的服务器的ip地址 之间的映射, 才有可能访问.
- wap和http的区别?
以前的非智能手机(功能机), 只能访问wap的网站,(这种wap要专门写,跟html的网站不同). 而现在的只能机都能直接访问http协议了.所以, 即使你开发阶段部署在本
地局域网中的服务器上的站点, 也可以用 手机进行测试了.
只要 你的手机和服务器 在 局域网的 同一网段 比如192.168.1.* ,那么在手机中输入http://...
地址都是可以访问到的.
为什么手机不能访问局域网中同一网段的linux服务器?
- 手机访问 win的服务器基本没有问题
- 如果不能访问linux的话, 通常是因为 selinux和防火墙. 暂时关闭selinux和防火墙firewalld. 一般来说,暂时关闭这两个后 都可以访问.
- 或者精准设置 iptables (iptables 本身是ip规则过滤系统而已, 相当于 交换机/路由器上的acl)但是可以用它来做防火墙.
iptables (什么链input还是output) (源的限制, -s ... -p) (目标的限制, -dport ...) (动作 -j accept 还是 deny?)
bs其实也不难, 因为常见的常用的bs/html元素, 标签也就那些, 也就那么几个. 你把那些 常用的用法搞清楚就好了.
整个bs包括四个部分: css优化, bs组件, javascript组件, bs扩展
要区别三种形式的表单: 普通表单, inline内联表单(.form-inline, 所有的表单组件都在同一行显示), 水平表单(这个是相对于垂直的普通表单而言的,即每一
个.form-group中的 label和对应的input等控件放在同一行, 但是不同的组是放在不同行的, 水平表单 要结合 .form-horizontal 和布局.col-md-? 来使用.
表单的checkbox和radio跟其他input控件有所不同, bs的选择按钮, 相应的类不是放在input上,而是放在 div,或 label上.
而且选择按钮 都是 input在前, 提示文字在后.
普通的选择按钮的类是放在 div上, 而内联的选择按钮的类是放在 label上:
label中的for, 可以是对于后面的input控件的 name, 也可以是控件的id.
<div class="checkbox">
<label for="some-check">
<input type="checkbox" id="some-check" value="1">选项1
</label>
</div>
内联选择按钮
<div>
<label class="col-md-2 checkbox-inline" for="some-check">
<input type="checkbox" id="some-check" value="1">选项1
</label>
</div>
要区分选择框的单项和多选框的区别?
- 单选是一个 倒三角形和下拉列表
- 而多选是所有选项 直接 全部显示出来的
bootstrap 使用哪一个版本: v3.3.?(可能是 v3.3.5, 还是 v3.3.7)
关于iptables的使用?
- 在实际工作中 配置iptables, 往往并不是一个命令一个命令的输入, 而是写成一个script的sh脚本, 在脚本的最后 用 /etc/init.d/iptables-save 写入到
iptables的配置文件(/etc/sysconfig/iptables)中.
利用脚本, 可以将复杂的/ 大量内容的脚本, 分成几个独立的 小文件, 有诸多好处, 最后主脚本可以 (调用/呼叫/引用)其他脚本文件:
if [ -f other-foo-related.sh ]; then
sh other-foo-related.sh
fi
- iptables中的一些选项 字母的意思
- 通常来说都有对应的单词(首字母), 当然也不actually/absolutely. 有时候有些快捷字母/快捷键, 是出于 一些习惯/ 便于操作 / 与历史兼容等原因
- -j是 --jump 后面的 ACCEPT|DROP|REJECT|LOG 是target(是目标, (所谓目标就是一些 规则的集合 规则序列, 规则的盒子, 是系统预先定义好了的) 可以理解为
是 相应的控制列表 , 比如有 Accept的控制列表, 或者说有 Accept的过滤规则集合 规则序列. 所以 jump 到这些target 就是把这条规则 "放到" 相应的规则序列的
最后/或开头.
- A 是 Append追加, 将新的规则放在 规则target的最后, 而I则是insert 是插入, 是将新的规则放在目标的最前面
-s 表示源地址机器, 可以单个的ip也可以是一个网域, 网域的表示可以用 子网掩码的数字,也可以用255.来表示, 比如: 192.168.1.0/24 和
192.168.1.0/255.255.255.0 都是可以的. 都要在中间加斜杠.
- --sport 是表示源机器的 端口. --dport 表示目的机器的端口. 端口号 可以用数字和 服务名称表示,比如: --dport 21 和 --dport ftp都是可以的 要注意使
用端口的时候, 一定要指明 前面使用的协议 ,比如 -p tcp
端口号可以使用 连续的范围表示, 比如: 一般客户端访问外部的端口号都是在 1024以上, 所以如果端口号是1:1023的包都可以拒绝. `iptables -A INPUT -p tcp
--sport 1:1023 -j DROP `
但是一条命令中, 只能规定一个 单独的端口号, 几个分散的端口号不能写在一条命令中, 要写多条命令来实现.
- --syn 表示的主动联机的 标志. 如果是外部客户端机器 的 小于1024的端口号 主动联机的 话, 则要拒绝: `iptables -A INPUT -p tcp --sport 1:1023 --syn
-j DROP `
- iptables 中, 可以使用的在第三层的封包的协议 有tcp udp icmp 或者all. 对tcp udp 的过滤, 主要是基于端口, 而icmp的过滤是基于 icmp
的封包类型, icmp中的封包类型较多, 其中 类型 8 表示的是 "echo request" 即对外部来的ping命令给予回应. 所以如果要保护服务器, 不让外部机器知道有这样的
服务器, (屏蔽ping) 就是 对 INPUT链的 -p icmp --icmp-type 8 -j DROP.
-m 表示的是module ,iptables的外挂模块, 主要有 state状态模块,和 mac 硬件地址模块. 可以简化iptables的配置. 提供了另外一种配置思路, 比如不必一个一个
地配置 外部/远程服务器到 本地机器的 包允许, 那样的话工作量太大, 也不大现实. 所以就可以用 state模块来处理: --state 有 INVALID NEW RELATED
ESTABLISHED 四种, 后面两种表示 如果一个进来的包 (他的状态) 是 本地机器 发起到远程服务器的请求的 响应包, 那么就应该放行, 所以要accept. 如果是无效
的包 invalid, 就要drop. `iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -A INPUT -m state --state INVALID -j DROP
`
而mac 外挂模块 则可以基于 机器的mac地址 进行过滤, 阻止(这个可以针对 使用 软件进行 伪造 ip地址的包 绕过防火墙 的行为 进行阻截).
-i eth0 或 -o eth0 表示 数据从从哪个接口 进入或从哪个接口出去. i表示input, o表示 output出去.
总之,iptables的内容很多,也很复杂, 但是你掌握最常用的 最主要的内容就好了. 比如对input链的配置过滤. 其实就相当于 一个ACL. 也不是太难. 因此, 也就
没有必要将防火墙 一关了之. 可以对他进行配置的.
iptables 的内容 大的方面来说,主要有三个表 filter, nat, mangle表. 而对访问控制的主要就是 filter(这个过滤表,也是默认的表, 即不指定-t TABLENAME的时候
).
filter表有三个链 (即三个进出方向), INPUT OUTPUT FORWARD. 通常 output和forward链都是accept的, 因为这两个链对本地机器通常没有伤害. 主要是 配置指定
input链.
具体对iptables 的配置步骤
首先是查看, iptables -nv -L (-n表示不翻译/不解析成hostname. -v表示详情verbos)
也可以用 iptables-save查看?清除原有的内容:
iptables -F (清除默认的政策policy)
iptalbes -X(清除用户自定义的规则)
iptables -Z( 将数据清零)建立默认的/总的 原则(政策) , 用 -P选项(这里的P表示 Policy政策, 即当封包 没有自定义规则匹配的时候, 就按这里的 "政策" 执行)
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT // 所以 通常只是配置input莲, 你所看到的大多是input莲的过滤.默认 的格式: iptables [-AI] INPUT [-io eth0] [-p 协议tcp udp icmp all] [-s !source] [-d !destionation 感叹号表示否定 非] [--sport / --dport
/--icmp-type ...] -j ACCEPT|DROP|REJECT|LOG
log是记录在系统的核心消息文件 /var/log/messages 中.
- 信任装置?
就是在iptables命令中, 凡是没有设置的内容/项目, 表示 "全都接受" , 这就是所谓的 信任装置.
可以用来修改ip地址或mac地址的黑客软件是什么?
iptables也是一个服务吗?
- 可以用systemctl status iptables 来查看吗?
- 可以用chkconfig --list iptables 来查看?
可以直接修改 /etc/sysconfig/iptables 这个文件来 配置防火墙吗?
再谈 iptables 防火墙的 指令配置的更多相关文章
- Linux(13):期中架构(5)--- 前端部分:keepalived高可用 & HTTPS & iptables防火墙
keepalived 高可用集群 1. keepalived服务概念说明 # 1.1 keepalived软件的作用? Keepalived软件起初是专为LVS负载均衡软件设计的, 用来管理并监控LV ...
- 阿里云Centos配置iptables防火墙
虽说阿里云推出了云盾服务,但是自己再加一层防火墙总归是更安全些,下面是我在阿里云vps上配置防火墙的过程,目前只配置INPUT.OUTPUT和FORWORD都是ACCEPT的规则 一.检查iptabl ...
- IPTables系列:如何配置Ubuntu 14.04中的IPTables防火墙
IPTables基本命令 在向大家介绍复杂防火墙规则之前,还是先上一些简单的料,让大家对IPTables最为基本的命令有一些简单了解. 首先要说明的是IPTables命令必需以root权限运行,这意味 ...
- squid透明代理+iptables防火墙,多网卡详细配置
squid透明代理+iptables防火墙详细配置 看到很多人都在不停地问iptables+squid做透明代理的问题,鄙人不才,斗胆在此做统一解答.如有任何纰漏还望各位批评指教. ========= ...
- 阿里云CentOS配置iptables防火墙[转]
虽说阿里云推出了云盾服务,但是自己再加一层防火墙总归是更安全些,下面是我在阿里云vps上配置防火墙的过程,目前只配置INPUT.OUTPUT和FORWORD都是ACCEPT的规则 一.检查iptabl ...
- Linux添加防火墙、iptables的安装和配置(亲测)
iptables基础 规则(rules)其实就是网络管理员预定义的条件,规则一般的定义为“如果数据包头符合这样的条件,就这样处理这个数据包”.规则存储在内核空间的信息 包过滤表中,这些规则分别指定了源 ...
- 2-10~2-11 配置iptables防火墙增强服务 selinux简单讲解
学习一个服务的过程: 1.此服务器的概述:名字,功能,特点,端口号 2.安装 3.配置文件的位置 4.服务启动关闭脚本,查看端口 5.此服务的使用方法 6.修改配置文件,实战举例 7.排错(从下到上, ...
- centos7 && centos6.5部KVM使用NAT联网并为虚拟机配置firewalld && iptables防火墙端口转发
centos7 && centos6.5 部KVM使用NAT联网并为虚拟机配置firewalld && iptables防火墙端口转发 一.准备工作: 1: 检查kvm ...
- Ali_Cloud++:阿里云Centos配置iptables防火墙教程
虽说阿里云推出了云盾服务,但是自己再加一层防火墙总归是更安全些,下面是我在阿里云vps上配置防火墙的过程,目前只配置INPUT.OUTPUT和FORWORD都是ACCEPT的规则 1):检查iptab ...
随机推荐
- 排序(Sort)-----选择排序
声明:文中动画转载自https://blog.csdn.net/qq_34374664/article/details/79545940 1.选择排序简介 选择排序(Select Sort ...
- Java多线程-----线程池详解
1. 线程池的实现原理 提交一个任务到线程池中,线程池的处理流程如下: 判断线程池里的核心线程是否都在执行任务,如果不是(核心线程空闲或者还有核心线程没有被创建)则创建一个新的工作线程来执行任务.如果 ...
- Hive常用语句
文章目录 1 显示分区 2 添加分区 3 删除分区 4 修改分区 5 添加列 6 修改列 7 修改表属性 8 表的重命名 显示分区 show partitions iteblog; 添加分区 ALTE ...
- flask 自定义验证器(行内验证器、全局验证器)
自定义验证器 在WTForms中,验证器是指在定义字段时传入validators参数列表的可调用对象,下面来看下编写自定义验证器. 行内验证器 除了使用WTForms提供的验证器来验证表单字段,我们还 ...
- 20165215 预备作业3 Linux安装及学习
Linux安装 根据老师的链接,我VirtualBox下载的是5.2.6的版本,下载Ubuntu时使用老师的链接总是出现404 Not found的页面,于是我采用其它方式下载了16.04.3的版本 ...
- 新服务器上装java PHP环境有什么一键安装的方便的方法?一般都是怎么安装环境的?
新服务器上装java PHP环境有什么一键安装的方便的方法?一般都是怎么安装环境的? linode digitalocean都有很好的教程,下面是ubuntu和centos的两个教程连接. How ...
- GUI界面修饰
function varargout = GUI20(varargin) % GUI20 MATLAB code for GUI20.fig % GUI20, by itself, creates a ...
- 安装指定版本capistrano
1.ruby安装 #yum install -y openssl-devel readline-devel zlib-devel git #git clone https://github.com/s ...
- 论文翻译——Rapid 2D-to-3D conversion——快速2D到3D转换
https://blog.csdn.net/qq_33445835/article/details/80143598 目前想做一个关于2D转3D的项目,由于国内资料比较少而且大部分都是基于国外的研究 ...
- 用Intellij IDEA建mybatis案例
用IDEA建mybatis案例 环境准备: 首先,建库建表(最好用navicat或sqlpro直接导) 然后打开IDEA, 1. java--->javaEE---> java app-- ...