再谈 iptables 防火墙的 指令配置
. 而手机上的hosts文件中 是没有 这样的映射的,即使有,也不可以使用localhost,因为手机本机上并没有网站资源和apache等. 只有创建 localhost 到 电脑主机对
应的服务器的ip地址 之间的映射, 才有可能访问.
地局域网中的服务器上的站点, 也可以用 手机进行测试了.
只要 你的手机和服务器 在 局域网的 同一网段 比如192.168.1.* ,那么在手机中输入http://...
地址都是可以访问到的.
iptables (什么链input还是output) (源的限制, -s ... -p) (目标的限制, -dport ...) (动作 -j accept 还是 deny?)
bs其实也不难, 因为常见的常用的bs/html元素, 标签也就那些, 也就那么几个. 你把那些 常用的用法搞清楚就好了.
要区别三种形式的表单: 普通表单, 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的配置文件(/etc/sysconfig/iptables)中.
利用脚本, 可以将复杂的/ 大量内容的脚本, 分成几个独立的 小文件, 有诸多好处, 最后主脚本可以 (调用/呼叫/引用)其他脚本文件:
if [ -f other-foo-related.sh ]; then
sh other-foo-related.sh
fi
是 相应的控制列表 , 比如有 Accept的控制列表, 或者说有 Accept的过滤规则集合 规则序列. 所以 jump 到这些target 就是把这条规则 "放到" 相应的规则序列的
最后/或开头.
192.168.1.0/255.255.255.0 都是可以的. 都要在中间加斜杠.
用端口的时候, 一定要指明 前面使用的协议 ,比如 -p tcp
端口号可以使用 连续的范围表示, 比如: 一般客户端访问外部的端口号都是在 1024以上, 所以如果端口号是1:1023的包都可以拒绝. `iptables -A INPUT -p tcp
--sport 1:1023 -j DROP `
但是一条命令中, 只能规定一个 单独的端口号, 几个分散的端口号不能写在一条命令中, 要写多条命令来实现.
-j DROP `
的封包类型, 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 的内容 大的方面来说,主要有三个表 filter, nat, mangle表. 而对访问控制的主要就是 filter(这个过滤表,也是默认的表, 即不指定-t TABLENAME的时候
).
filter表有三个链 (即三个进出方向), INPUT OUTPUT FORWARD. 通常 output和forward链都是accept的, 因为这两个链对本地机器通常没有伤害. 主要是 配置指定
input链.
首先是查看, 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 中.