iptables 最终 第四章
转发 ,NAT 功能
Chain FORWARD
开启网卡转发功能: /proc/sys/net/ipv4/ip_forward #使用sysctl 开启内核转发功能
sysctl -w net.ipv4.ip_forward= 核心转发: /proc/sys/net/ipv4/ip_forward
/etc/sysctl.conf
net.ipv4.ip_forward =
iptables :
显示扩展 ,网络防火墙
显示扩展 : multiport ,iprange ,string ,time ,connlimit ,limit ,state state ;
/proc/net/nf_conntrack
/proc/sys/net/nf_conntrack_max iptables :
nat :网络层+传输层 ,安全性 ,
proxy : 代理,应用层 nat :
SNAT:源地址
DNAT:目标地址 Nat表——三个链:
PREROUTING :DNAT 必须要在路由发生之前完成DNAT
POSTROUTING :SNAT
OUTPUT : local 产生信息的nat SNAT : 源地址转换
iptables -t nat -A POSTROUTING -s 192.168.100.0/ ! -d 192.168.100.0/ -j SNAT --to-source 172.16.100.100 DNAT : 目标地址转换
iptables -t nat -A PREROUTING -d 192.168.100.150 -p tcp --dport -j DNAT --to-destination 192.168.2.4: MASQUERADE:
地址伪装,算是snat中的一种特例,可以实现自动化的snat。
iptables -t nat -A POSTROUTING -s 192.168.100.0/ -j MASQUERADE iptables的链接跟踪表最大容量为/proc/sys/net/ipv4/ip_conntrack_max,链接碰到各种状态的超时后就会从表中删除。 所以解決方法一般有两个:
() 加大 ip_conntrack_max 值
vi /etc/sysctl.conf
net.ipv4.ip_conntrack_max =
net.ipv4.netfilter.ip_conntrack_max =
(): 降低 ip_conntrack timeout时间
vi /etc/sysctl.conf
net.ipv4.netfilter.ip_conntrack_tcp_timeout_established =
net.ipv4.netfilter.ip_conntrack_tcp_timeout_time_wait =
net.ipv4.netfilter.ip_conntrack_tcp_timeout_close_wait =
net.ipv4.netfilter.ip_conntrack_tcp_timeout_fin_wait = #指定网卡限制
iptables -A INPUT -i eth0 -m multiport -p tcp --dport ,,, -j DROP
tcp_wrapper :tcp 包装器
简介
TCP_Wrappers是一个工作在第四层(传输层)的的安全工具,对有状态连接的特定服务进行安全检测并实现访问控制,凡是包含有libwrap.so库文件的的程序就可以受TCP_Wrappers的安全控制。它的主要功能就是控制谁可以访问,常见的程序有rpcbind、vsftpd、sshd,telnet。
工作原理
TCP_Wrappers有一个TCP的守护进程叫作tcpd。以ssh为例,每当有ssh的连接请求时,tcpd即会截获请求,先读取系统管理员所设置的访问控制文件,符合要求,则会把这次连接原封不动的转给真正的ssh进程,由ssh完成后续工作;如果这次连接发起的ip不符合访问控制文件中的设置,则会中断连接请求,拒绝提供ssh服务。
TCP_Wrappers的使用
TCP_Wrappers的使用主要是依靠两个配置文件/etc/hosts.allow, /etc/hosts.deny,用于拒绝和接受具有TCP_Wrappers控制全的程序,详细信息具体可以查看man帮助,这里我们就做简单的演示和使用(man 5 hosts_access, man 5 hosts_options)
要说明的是当我们启动一个受控制的软件的时候,比如ssh,
不过在刚开始的时候,/etc/hosts.allow,/etc/hosts.deny什么都没有添加,此时没有限制,是都可以连接的,现在我们来说如何设置,禁止和允许连接,配置文件格式遵循如下规则:
daemon_list@host: client_list [:options :option…]
daemon_list: 是程序的列表,可以是多个,是多个时,使用,隔开
@host:可以没有,是我们的限制的网卡访问接口(自己的),设置允许或禁止他人从自己的那个网口进入。这一项不写,就代表全部。
client_list:是访问者的地址,如果需要控制的用户较多,可以使用空格或,隔开,格式如下:
基于IP地址: 192.168.10.1 192.168.1.
基于主机名: www.magedu.com .magedu.com 较少用
基于网络/掩码: 192.168.0.0/255.255.255.0
基于net/prefixlen: 192.168.1.0/24(CentOS7)
基于网络组(NIS 域): @mynetwork
内置ACL: ALL, LOCAL, KNOWN, UNKNOWN,PARANOID
ALL:所有主机
LOCAL:本地主机
KNOWN:主机名可解析成ip的
UNKNOWN:主机名无法解析成IP的
PARANOID:正向解析与反向解析不对应的主机
[root@localhost ~]# ldd `which sshd` |grep libwrap
libwrap.so.0 => /lib64/libwrap.so.0 (0x00007f90a4723000)
[root@nginx ~]# cat /etc/hosts.deny
#
# hosts.deny This file contains access rules which are used to
# deny connections to network services that either use
# the tcp_wrappers library or that have been
# started through a tcp_wrappers-enabled xinetd.
#
# The rules in this file can also be set up in
# /etc/hosts.allow with a 'deny' option instead.
#
# See 'man 5 hosts_options' and 'man 5 hosts_access'
# for information on rule syntax.
# See 'man tcpd' for information on tcp_wrappers
#
#
sshd: 10.2.61.21
EXCEPT: 除了
hosts.allow
vsftpd: 172.16. EXCEPT 10.2.61.0/255.255.255.0 EXCEPT 10.2.61.21 #双重否定策略 及允许 10.2.61.21 访问 [:options] deny: 拒绝,主要用于hosts.allow文件中
allow:允许,用于hosts.deny文件,实现allow的功能
spawn: 启动额外应用程序:
vsftpd: ALL :spawn /bin/echo `date` login attempt from %c to %s, %d >> /var/log/vsftpd.deny.log
%c: client ip
%s: server ip
%d: daemon name
iptables 最终 第四章的更多相关文章
- CentOS 7.4 初次手记:第四章 CentOS安全了解
第四章 CentOS安全了解... 66 第一节 user.group.chmod. 66 I 10位文件属性... 66 II user/group增删改... 67 III user/group配 ...
- 精通Web Analytics 2.0 (6) 第四章:点击流分析的奇妙世界:实际的解决方案
精通Web Analytics 2.0 : 用户中心科学与在线统计艺术 第四章:点击流分析的奇妙世界:实际的解决方案 到开始实际工作的时候了.哦耶! 在本章中,您将了解到一些最重要的网络分析报告,我将 ...
- 《Linux内核设计与实现》课本第四章自学笔记——20135203齐岳
<Linux内核设计与实现>课本第四章自学笔记 进程调度 By20135203齐岳 4.1 多任务 多任务操作系统就是能同时并发的交互执行多个进程的操作系统.多任务操作系统使多个进程处于堵 ...
- [Effective Java]第四章 类和接口
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...
- [转]Windows Shell 编程 第四章 【来源 http://blog.csdn.net/wangqiulin123456/article/details/7987933】
第四章 文件的本质 以前,所有文件和目录都有一个确定的属性集:时间,日期,尺寸,以及表示‘只读的’,‘隐藏的,‘存档的’,或‘系统的’状态标志.然而,Windos95(及后来的WindowsNT4.0 ...
- 《Android群英传》读书笔记 (2) 第三章 控件架构与自定义控件详解 + 第四章 ListView使用技巧 + 第五章 Scroll分析
第三章 Android控件架构与自定义控件详解 1.Android控件架构下图是UI界面架构图,每个Activity都有一个Window对象,通常是由PhoneWindow类来实现的.PhoneWin ...
- Java基础知识二次学习--第四章 异常
第四章 异常处理 时间:2017年4月26日11:16:39~2017年4月26日11:28:58 章节:04章_01节 04章_02节 视频长度:20:46+01:16 内容:异常的概念 心得: ...
- java并发编程的艺术——第四章总结
第四章并发编程基础 4.1线程简介 4.2启动与终止线程 4.3线程间通信 4.4线程应用实例 java语言是内置对多线程支持的. 为什么使用多线程: 首先线程是操作系统最小的调度单元,多核心.多个线 ...
- 第四章初始CSS3预习笔记
第四章 初始CSS3预习笔记 一: 1: 什么是CSS? 全称是层叠样式表;/通常又称为风格样式表,.他是用来进行网页风格设计的; 2:CSS的优势: 1>内容以表现分离,即使用u前面学习的HT ...
随机推荐
- Spring的Log4J配置器Log4jWebConfigurer介绍
1. Logj4简介 Log4j是Apache大旗下的一个子项目,它可以用来重定向应用日志文件的输出流,无论我们想将日志文件输出到控制台还是网络还是其他地方,都可以通过logj4来配置,如果我们的应用 ...
- Ubuntu系统的nginx启动
在不同的linux系统中,安装nginx之后,要启动nginx,目录路径可能有一点不一样,如下是Ubuntu系统启动nginx,其他版本的linux系统可能不适用. Ubuntu安装之后的文件结构大致 ...
- re:从零开始的数位dp
起源:唔,,前几天打cf,edu50那场被C题虐了,决定学学数位dp.(此文持续更新至9.19) ps:我也什么都不会遇到一些胡话大家不要喷我啊... 数位dp问题:就是求在区间l到r上满足规定条件的 ...
- hibernate配置二级缓存
ehcache.xml: < ?xml version=”1.0″ encoding=”UTF-8″?>< !– defaultCache节点为缺省的缓存策略 maxElements ...
- HTML、CSS知识点,面试开发都会需要--No.6 设置背景
No.6 设置背景 1.background (1)如何设置背景:背景可通过color.image.gradient渐变或者组合方法设置. (2)background-color:颜色格式可以是十六进 ...
- (二)juc线程高级特性——CountDownLatch / Callable / Lock
5. CountDownLatch 闭锁 Java 5.0 在 java.util.concurrent 包中提供了多种并发容器类来改进同步容器的性能. CountDownLatch 一个同步辅助类, ...
- 如何查看.net framework 版本
以windows 2016 standard版本为例 通过注册表查看,找到 .NET Framework 注册表信息所在的位置:HKEY_LOCAL_MACHINE\SOFTWARE\Microsof ...
- git本地仓库 push到远程仓库出现错误
! [rejected] master -> master (fetch first) error: failed to push some refs to hint: Updates were ...
- Elasticsearch学习笔记(一)cat API
一.Cat通用参数 Verbose GET /_cat/XXX/?v 开启详细输出 Help GET /_cat/XXX/?help 输出可用的列 Headers GET /_cat/XXX/?h=c ...
- ext 的loadmask 与ajax的同步请求水火不容
由于ajax 的同步请求会有一段请求时间.有的短.有的长,对于短的我们还是能接受的,不过长的话就必须处理一下了, 就比如处于ext 4.2.0的框架下,需要一个遮掩的样式,框架是有自带的,loadma ...