第一范文网 - 专业文章范例文档资料分享平台

linux网络学习笔记

来源:用户分享 时间:2025/6/4 17:32:09 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

Iptables 防火墙

?按防火墙对数据包的过滤方式分为:

代理服务器:代理client向Internet请求数据

?Ip,filter :过滤数据包,实现防火墙功能 ?iptables中的表:

filter:主要与linux主机有关,默认的table,实现包过滤 1, input:与进入linux本机的数据包有关 2, output:与送出linux本机的数据包有关

3, forward 与本机无关,将数据包转发到后端的计算机中

NAT 表:用于来源地和目的地的ip和port转换,与linux本机无关,实现地址转换 1, PREROUTING 在路由判断之前,目标地址转换 2, POSTROUTING 路由判断之后,源地址转换 3, OUTPUT 与送出去的数据包有关

?表间的优先顺序:

Raw>mangle>nat>filter

?链间的匹配顺序:

入站数据:PREROUTING, INPUT(目标地址是防火墙) 出战数据:OUTPUP, POSTROUTING(源地址是防火墙)

转发数据:PREROUTING, FORWARD, POSTROUTING(源和目标都不是防火墙)

?连内的匹配顺序:

自上而下顺序依次进行检查,若在链中找不到像匹配的规则,则按该链默认的策略处理

?Iptables [-t nat or filter] [–L] [–nv]

-L :列出目前的table的规则 -n :不进行ip与hostname 的反查 -v列出更多的信息

?iptables –F :清除所有的已定规则

-X: 除掉所有用户自定义的链

-Z:将所有的chain的计数与流量统计都归零

(这3种命令将本机防火墙的所有规则都清除,但不会改变默认策略) -A:新增加一条规则,加载原规则的后面 -I :插入一条规则,默认插入到第一条规则 -D:删除一条规则 -P :定义策略

-N :新建一个链 -R :替换

?1,数据包的基础比对ip/netmask i/o设备(配置filter表)

Iptables [-AI 链] [-io 网络接口] [-p 协议] [-s (!)来源ip网段] [-d 目标ip网段] –j [ACCEPT|DROP|LOG] 若某个网段input 可接受,但某个主机不能接受 应先设置丢弃在设置允许(顺序不能错)

?2,TCP,UDP规则比对

Iptables [-AI 链] [-io 网络接口] [-p tcp,udp] [-s (!)来源ip网段] [--sport 端口范围][-d 目标ip网段] [--dport 端口范围] [--syn]–j [ACCEPT|DROP|LOG] --syn对主动联机进行处理

使用sport和dport时必须指定udp or tcp 数据包格式

?定义默认策略:

Iptables [-t nat or filter] –P [INPUT,OUTPUT,FORWARD or PREROUTING,POSTROUTING,OUTPUP] [ACCEPT,DROP,]

?配置NAT表

SNAT: iptables -t nat -A POSTROUTING -o 端口 -s 内网网段/主机 -j SNAT --to-source 防火墙外网端口ip地址 DNAT: iptables -t nat -A PREROUTING -i 端口 -p tcp -d 防火墙外端口ip地址 --dport 80 -j DNAT --to-destination 内网

?DNAT的特殊用法:重定向,符合条件的数据包的目的ip地址改为数据包进入系统时的网络接口的ip地址。

例如,将来自172.16.1.0/24,目的端口为80的数据包重定向到squid监听端口:

iptables –t nat –A PREROUTING –i eth0 –p tcp –s ip地址 –dport 80 –j REDIRECT --to –port 3128 防火墙实验: 222.222.102.2 外网server 外网client 222.222.102.1 FW 192.168.222.101 192.168.222.102 内网client 1, 配置接口ip地址

2, 配置外网服务器实现:WEB,FTP,MAIL,DNS 3, 实现防火墙路由转发功能

Echo 1 >./proc/sys/net/ipv4/ip_forward(暂时修改) Vi /etc/sysctl.conf (永久修改)

4, 地址转换SNAT(此时内网客户机可以访问外网服务器) 若外网地址是通过拨号连接获取的将不固定,地址转换采用ip伪装

192.168.222.103内网server Ipatables –t nat –A POSTROUTING –s 子网/主机 –o ppp0 –j MASQUERADE

5, 配置DNAT是外网用户可以访问内网服务器(此时外网用户可以访问内网服务器) 6, 配置访问控制策略:内网用户只能访问外网特定服务(www,ftp,dns)

?配置默认策略 FORWARD INPUT 为DROP ?放行DNS服务器(其他服务类似)

(1)iptables -t filter -A FORWARD -s 内网ip网段 -o eth0 -p tcp/udp --dport 53 -j ACCEPT(从内网出去) (2)iptables -t filter -A FORWARD –i eth0 -p tcp/udp --sport 53 -j ACCEPT(进内网)

?采用ssh 远程编写规则

1, 在linux防火墙上启用ssh服务 2, 同网段远程客户机安装putty工具 3,putty登陆linux防火墙

3, 在记事本上编辑规则然后黏贴在putty上即可

?Iptables 状态检测功能(-m state –state 状态)

状态:NEW,RELATED,ESTABLISHED,INVALID NEW:已经或即将启动新连接 ESTABLISHED:已连接状态 RELATID:正在连接或已连接

INVALID:不能识别属于哪个连接或没有任何状态

1, Iptables –t filter –I FORWARD 1 –p tcp –m state –state ESTABLISHED –j ACCEPT 状态为ESTABLISHED就放行

2,Iptables –t filter –I FORWARD 2 –p tcp –m state –state INVALID –j DROP 状态为INVALID 就丢弃

3,新建一个链:iptables –t filter –N 链名

Iptables –t filter –I FORWARD 3 –p tcp –m state --state EW –j 链名 如果你是一个新建tcp连接的请求 就将此请求转到新建链中区处理 4,Iptables –t filter –A FORWARD –p tcp --dport 80 –j WWW 若请求服务时web服务就转到WWW链中(其他服务相同)

?Iptables 扩展应用

1, 多端口扩展应用:-m multipoort --dport/sport 端口1,端口2 ….. 2, 限制速率 及缓冲数-m limit --limit 速率 --limit-burst 缓冲数 3, MAC地址捆绑:-m mac --mac-source MAC地址

网络基础

Uname –r 追踪内核版本

网络接口的ip地址配置:ifconfig eth0/1 ip地址 netmask netmask号

网络接口的ip地址配置及激活该网络接口:ifconfig eth0/1 ip地址 up netmask netmask号

添加路由信息:route add [-net|-host] target[/netmask] eth0/1 删除路由信息:route del [-net|-host] [netmask]

添加和删除默认网关:route add default gw ip地址 dev eth0/1 route del default gw ip地址 dev eth0/1

DNS服务器

/var/named/chroot/etc/named.conf :DNS主配置文件 /var/named/chroot/var/named/区域文件 :区域配置文件 /var/named/chroot/var/named/named.root :根服务器信息文件 named-checkconf : 查看配置文件是否正确

Apache服务器

/var/www/html :存放web站点的web文件 /etc/httpd/conf/httpd.conf :apache 配置文件 /var/log/httpd/access_log :访问日志文件 /var/log/httpd/error_log :错误日志文件

?Httpd.conf配置文件主要有三部分组成,分别是全局环境设置,主服务器配置,虚拟主机设置

1,ServerRoot “/etc/httpd” :设置根目录的路径 2,ServerAdmin admin@your-domain.com :设置系统管理员e-mail 3,ServerName www.example.com:80 :设置服务器主机名称 4,DocumentRoot “/var/www/html” :设置服务器主目录的路径 5,DirectoryIndex index.html index.html.var :设置默认文件 6,Alias /icons/ “/var/www/icons/” :创建别名

7,Maxkeepaliverequests :一次连接允许请求服务的最大值

8,Keepalivetimeout : 一次连接同一个客户机再次请求服务的最大等待时间 9,Apachectl –C :查看apache安装信息 10,Apachectl –t :对配置文件进行语法检测

?配置目录权限

搜索更多关于: linux网络学习笔记 的文档
linux网络学习笔记.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c4g3al92j6q0088t3wpti_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top