iptables防火墙(二)

1.SNATSource Network Address Translation源地址转换):是Linux防火墙的一种地址转换操作

原理:根据指定条件修改数据包的源     IP地址

应用环境:局域网主机共享单个公网IP地址接入Internet

 

2.导出(备份)规则——iptables-save

[[email protected] ~]# iptables-save
# Generated by iptables-save v1.4.7 on Thu Apr  6 20:17:56 2017
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [100:8965]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
# Completed on Thu Apr  6 20:17:56 2017
[[email protected] /]# iptables-save > /opt/a.txt

3.导入(还原)规则——iptables-restore

[[email protected] /]# iptables-restore < /opt/a.txt

4.自启动防火墙规则

[[email protected] /]# iptables-save > /etc/sysconfig/iptables
[[email protected] /]# chkconfig --level 2345 iptables on
[[email protected] /]# chkconfig --list iptables
iptables           0:关闭    1:关闭    2:启用    3:启用    4:启用    5:启用    6:关闭

[[email protected] /]# service iptables start

5.清空所有防火墙规则

[[email protected] /]# service iptables stop
iptables:将链设置为政策 ACCEPT:filter                    [确定]
iptables:清除防火墙规则:                                 [确定]
iptables:正在卸载模块:                                   [确定]
[[email protected] /]# service iptables status
iptables:未运行防火墙。

6.防火墙脚本的构成

定义基本变量

[[email protected] /]# vi /opt/myipfw.sh
#!/bin/bash
INET_IF= "eth0"                                       //外网接口
INET_IP="218.29.30.31"                                //外网接口地址
LAN_IF="eth1"                                       //内网接口
LAN_IP= "192.168.1.1"                                 //内网接口地址
LAN_NET="192.168.1.0/24"                             //内网网段
LAN_WWW_IP="192.168.1.6"                           //网站服务器的内部地址
IPT="/sbin/iptables"                                   //iptables命令的路径
MOD="/sbin/modprobe"                               //modprobe命令的路径
CTL="/sbin/sysctl“                                     //sysct1命令的路径

加载内核模块

……
$MOD ip_tables
$MOD ip_conntrack
$MOD ipt_REJECT
$MOD ipt_LOG
$MOD ipt_iprange
$MOD xt_tcpudp
$MOD xt_state
$MOD xt_multiport
$MOD xt_mac
$MOD ip_nat_ftp
$MOD ip_conntrack_ftp
支持FTP访问的地址转换、连接状态跟踪

调整/proc参数

……
$CTL -w net.ipv4.ip_forward=1
$CTL -w net.ipv4.ip_default_ttl=128
$CTL -w net.ipv4.icmp_echo_ignore_all=1
$CTL -w net.ipv4.icmp_echo_ignore_broadcasts
$CTL -w net.ipv4.tcp_syncookies=1
$CTL -w net.ipv4.tcp_syn_retries=3
$CTL -w net.ipv4.tcp_synack_retries=3
$CTL -w net.ipv4.tcp_fin_timeout=60
$CTL -w net.ipv4.tcp_max_syn_backlog=3200
优化TCP响应能力

具体的防火墙规则

按表、链分别设置规则,包括默认策略

……
$IPT -t filter -X
$IPT -t nat -X
$IPT -t filter -F                //清空原有规则
$IPT -t nat -F
$IPT -P INPUT DROP            //设置默认策略
$IPT -P FORWARD DROP
$IPT -P OUTPUT ACCEPT
$IPT -t nat -A POSTROUTING -s $LAN_NET -o $INET_IF -j SNAT --to-source $INET_IP   //其他具体规则
$IPT -t nat -A PREROUTING -i $INET_IF -d $INET_IP -p tcp --dport 80 -j DNAT --to-destination $LAN_WWW_IP 
时间: 2024-10-16 04:47:49

iptables防火墙(二)的相关文章

iptables防火墙(二)

1.SNAT:源地址转换实现内网访问外网,修改源IP地址,使用POSTROUTING命令:iptables?-t nat -A ?POSTROUTING -s 192.168.1.0/24-j SNAT --to-source 202.1.1.12.MASQUERADE:地址伪装适用于外网IP地址非固定的情况将SNAT规则改为MASQUERADE即可命令:iptables -t nat -A PREROUTING -s 192.168.1.0/24?-j?MASQUERADE3.DNAT:目标地

linux防火墙--iptables(二)

五.filter过滤和转发 a.打开内核的IP转发 # sysctl -w net.ipv4.ip_forward=1 或 # echo 1 > /proc/sys/net/ipv4/ip_forward b.基本匹配条件 ·通用匹配 → 可直接使用,不依赖于其他条件或扩展 → 包括网络协议.IP地址.网络接口等条件 ·隐含匹配 → 要求以特定的协议匹配作为前提 → 包括端口.TCP标记.ICMP类型等条件 类别 选项 用法 通用匹配 协议匹配 -p 协议名 地址匹配 -s 源地址      

iptables 防火墙之二

Iptables防火墙(SNAT/DNAT) SNAT策略及应用 SNAT源地址转换是linux命令中的一种数据包控制类型,作用是根据指定条件修改数据包的源IP地址. 共享固定IP地址上网 Linux网关服务器,eth0和eth1其中eth0为外网地址X.X.X.X(此处为外网地址) eth1为内网地址192.168.2.1 所有局域网PC机的默认网关为192.168.2.1,且已经设置了正确的DNS服务器. 要求192.168.2.0/24网段的PC机能够通过共享方式正常访问Internet.

Iptables防火墙(一)

一.Linux防火墙基础 Linux防火墙主要工作在网络层,属于典型的包过滤防火墙. netfilter和iptables都用来指Linux防火墙,主要区别是: netfilter:指的是linux内核中实现包过滤防火墙的内部结构,不以程序或文件的形式存在,属于"内核态"的防火墙功能体系. iptables:指的是用来管理linux防火墙的命令程序,通常位于/sbin/iptables目录下,属于"用户态"的防火墙管理体系. 1.iptables的表.链结构 Ipt

iptables防火墙高级应用

iptables 防火墙(主机防火墙) 前言:我们在以前学习过asa防火墙,对防火墙有一定的了解,那么iptables和asa防火墙类似,作用一样,都是为了保证网络安全,系统安全,服务器的安全,和asa一样也需要建立策略,个人觉得比asa的策略要繁琐一点,但只要多做几遍,也就简单了. 一.防火墙基础 Linux防火墙主要工作在网络层,属于典型的包过滤防火墙. 1.iptables的表.链结构 Iptables采用了表和链的分层结构,每个规则表相当于内核空间的一个容器,根据规则集的不同用途划分为默

Linux下的配置iptables防火墙增强服务器安全

Linux下的配置iptables防火墙增强服务器安全 实验要求 iptables常见概念 iptables服务器安装及相关配置文件 实战:iptables使用方法 例1:使用iptables防火墙保护公司web服务器 例2:使用iptables搭建路由器,通过SNAT使用内网机器上网 例3:限制某些IP地址访问服务器 例4:使用DNAT功能把内网web服务器端口映射到路由器外网 实验环境 iptables服务端:xuegod-63   IP:192.168.1.63 iptables客户端:x

iptables防火墙应用

安全服务--Iptables  一.网络安全访问控制我们都知道,Linux一般作为服务器使用,对外提供一些基于网络的服务,通常我们都需要对服务器进行一些网络控制,类似防火墙的功能,  常见的访问控制包括:那些IP可以访问服务器,可以使用那些协议,那些接口.那些端口 是否需要对数据包进行修改等等.如果某服务器受到攻击,或者来自互联网哪个区域或者哪个IP的攻击,这个时候应该禁止所有来自该IP的访问.那么Linux底层内核集成了网络访问控制,通过netfilter模块来实现.  iptables作用:

iptables防火墙使用笔记

一.背景 每次WEB项目上线时总是要安装环境,其中免不了配置防火墙来允许外网访问.之前都是网上找教程比葫芦画瓢把开启80端口命令敲一下就不管了.本着学习的精神,今天打算好好研究一下iptables配置,并作笔记以便之后查看.只求明白即可,具体深入原理啥的就算了. 注:centos7默认防火墙改为firewall而非iptables. 二.快速搞定  iptables -I INPUT -p tcp --dport 80 -j ACCEPT 如果不想往下看的话,基本上只需记下这条命令就可以开启80

Linux中iptables防火墙指定端口范围

我需要700至800之间的端口都能tcp访问 代码如下 复制代码 -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 700 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 701 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp

iptables防火墙基础

一.iptables基础: 1.了解iptables防火墙. (1)iptables的表:按照功能的不同表分为raw(状态跟踪).mangle(标记).nat(地址修改).filter(过滤). (2)iptables规则链:按照不同时机链分为INPUT(入站).OUTPUT(出站).FORWARD(转发).PREROUTING(路由前).POSTROUTING(路由后): 在链中存放规则: filter: INPUT/FORWARD/OUTPUT nat: PREROUTING/POSTROU