【iptables初始化内网网关配置】setting_firewall_gw.sh

#!/bin/sh
#
# rc.firewall - 初始化内网网关配置
#
# [email protected]
#

###########################################################################
# 1. 配置

#####
# 1.1 配置 外网WAN
#
INET_IP="1.2.3.4"
INET_IFACE="em2"
INET_IP2="21.43.56.78"
INET_IFACE2="em2:1"

#####
# 1.2 配置 内网LAN
# 接口,IP和子网掩码,可以用VLSM 
#
LAN_IP="192.168.100.254"
LAN_IP_RANGE="192.168.100.0/24"
LAN_IFACE="em1"

#####
# 1.3 配置 DMZ
#

#####
# 1.4 配置 iptables路径
#
IPTABLES="/sbin/iptables"

###########################################################################
# 2. 模块

#####
# 2.1 初始化
#
/sbin/depmod -a

#####
# 2.2 必须
#
/sbin/modprobe ip_tables
/sbin/modprobe ip_conntrack
/sbin/modprobe iptable_filter
/sbin/modprobe iptable_mangle
/sbin/modprobe iptable_nat
/sbin/modprobe ipt_limit
/sbin/modprobe ipt_state

###########################################################################
# 3. 配置 /proc

#####
# 3.1 开启IP转发
#
echo "1" > /proc/sys/net/ipv4/ip_forward

###########################################################################
# 4. 设置规则

######
# 4.1 表 Filter
#

# 4.1.1 设置策略,先保存旧的配置信息,再清空表 Filter
# 
#iptables-save >/root/rc.firewall.txt.save.old
#service iptables status >/root/rc.firewall.txt.status.old

$IPTABLES -P INPUT ACCEPT
$IPTABLES -P OUTPUT ACCEPT
$IPTABLES -P FORWARD ACCEPT
$IPTABLES -F

# 4.1.2 建立自定义链
#
$IPTABLES -N bad_tcp_packets
$IPTABLES -N allowed
$IPTABLES -N tcp_packets
$IPTABLES -N udp_packets

# 4.1.3 增加规则到链中
#
# 链 bad_tcp_packets
#
$IPTABLES -A bad_tcp_packets -p tcp --tcp-flags SYN,ACK SYN,ACK -m state --state NEW -j REJECT --reject-with tcp-reset 
$IPTABLES -A bad_tcp_packets -p tcp ! --syn -m state --state NEW -j DROP

# 链 allowed
#
$IPTABLES -A allowed -p TCP --syn -j ACCEPT
$IPTABLES -A allowed -p TCP -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A allowed -p TCP -j DROP

# 链 tcp_packets
#
$IPTABLES -A tcp_packets -p TCP -m tcp --dport 22 -j allowed
$IPTABLES -A tcp_packets -p TCP -m tcp --dport 80 -j allowed

# 链 udp_packets
#
#$IPTABLES -A udp_packets -p udp -m udp --dport 123 -j ACCEPT 

# 4.1.4 链 INPUT
#
# 规则:bad_tcp_packets 过滤
#
$IPTABLES -A INPUT -p tcp -j bad_tcp_packets

# 规则:从本地进入
#
$IPTABLES -A INPUT -i $LAN_IFACE -s $LAN_IP_RANGE -j ACCEPT
$IPTABLES -A INPUT -i lo -j ACCEPT

# 规则:从外网进入
#
$IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A INPUT -p icmp -j ACCEPT
$IPTABLES -A INPUT -p TCP -j tcp_packets
$IPTABLES -A INPUT -p UDP -j udp_packets
$IPTABLES -A INPUT -j REJECT --reject-with icmp-host-prohibited 

# 4.1.5 链 FORWARD
#
# 规则:bad_tcp_packets 过滤
#
$IPTABLES -A FORWARD -p tcp -j bad_tcp_packets

# 允许转发
#
$IPTABLES -A FORWARD -i $LAN_IFACE -j ACCEPT
$IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A FORWARD -j REJECT --reject-with icmp-host-prohibited

# 4.1.6 链 OUTPUT
#

######
# 4.2 表 nat
#

# 4.2.1 设置策略,先清除旧的配置
#
$IPTABLES -t nat -F

# 4.2.2 建立自定义链
#

# 4.2.3 增加规则到链中
#

# 4.2.4 链 PREROUTING
#

# 4.2.5 链 POSTROUTING
# 启用简单的IP 转发和NAT
#
$IPTABLES -t nat -A POSTROUTING -o $INET_IFACE -j SNAT --to-source $INET_IP
$IPTABLES -t nat -A POSTROUTING -o $INET_IFACE2 -j SNAT --to-source $INET_IP2

# 4.2.6 链 OUTPUT chain
#

######
# 4.3 表 mangle
#

# 4.3.1 设置策略
#

# 4.3.2 建立自定义链
#

# 4.3.3 增加规则到链中
#

# 4.3.4 链 PREROUTING
#

# 4.3.5 链 INPUT
#

# 4.3.6 链 FORWARD
#

# 4.3.7 链 OUTPUT
#

# 4.3.8 链 POSTROUTING
#

###########################################################################
# 5. 显示规则

service iptables status
#iptables-save >/root/rc.firewall.txt.save
#service iptables status >/root/rc.firewall.txt.status
时间: 2024-12-16 22:13:32

【iptables初始化内网网关配置】setting_firewall_gw.sh的相关文章

iptables防火墙网路安全实践配置

01:iptables防火墙网络安全前言介绍企业中安全配置原则:尽可能不给服务器配置外网IP,可以通过代理转发或者通过防火墙映射.并发不是特别大情况有外网IP,可以开启防火墙服务.大并发的情况,不能开iptables,影响性能,利用硬件防火墙提升架构安全. iptables防火墙概念介绍Netfilter/Iptables(以下简称Iptables)是unix/linux自带的一款优秀且开放源代码的完全自由的基于包过滤的防火墙工具,它的功能十分强大,使用非常灵活,可以对流入和流出服务器的数据包进

iptables的详细介绍及配置方法*

Firewall(防火墙):组件,工作在网络边缘(主机边缘),对进出网络数据包基于一定的规则检查,并在匹配某规则时由规则定义的处理进行处理的一组功能的组件. 防火墙类型:根据工作的层次的不同来划分,常见的防火墙工作在OSI第三层,即网络层防火墙,工作在OSI第七层的称为应用层防火墙,或者代理服务器(代理网关). 网络层防火墙又称包过滤防火墙,在网络层对数据包进行选择,选择的依据是系统内设置的过滤逻辑,被称为访问控制列表(ACL),通过检查数据流中每个数据的源地址,目的地址,所用端口号和协议状态等

linux 中iptables的基础和常规配置

iptables的结构:iptables -> Tables -> Chains -> Rules. 简单地讲,tables由chains组成,而chains又由rules组成.如下图所示. 一.iptables的表与链  用我的话说是[4表5链] 1. Filter表 Filter表示iptables的默认表,因此如果你没有自定义表,那么就默认使用filter表,它具有以下三种内建链: ·       INPUT链 – 处理来自外部的数据. ·       OUTPUT链 – 处理向外

(转)内网网站发布到外网-nat123动态公网IP动态域名解析

环境描述: 路由器分配的是动态公网IP,且有路由器登录管理权限,网站服务器部署在路由器内部网络.如何将内网网站发布到外网大众访问? 解决方案: 内网使用nat123动态域名解析,将域名实时固定解析到路由公网IP,然后在路由器上做网站端口映射.外网访问网站时,使用动态解析域名. 实现过程: 1,明确网站内网访问地址端口,确保网站服务正常,在内网可以正常访问连接.如我内网网站访问地址是192.168.1.22:80.如果本地公网IP的80端口被屏蔽,可以更换其他网站端口,或使用nat123的80映射

Spring IOC的初始化过程——基于XML配置(一)

前言:在面试过程中,Spring IOC的初始化过程,基本上属于必答题,笔者的亲身经历.因此本文基于Spring的源码对其IOC的初始化过程进行总结. 注:spring版本为4.3.0. 1.调试前准备 在spring源码中,添加如下内容(有关spring源码如何导入idea,请查询相关资料): 说明: ①User为简单bean,含有name和gender两个属性. ②User.xml为spring配置文件,仅仅对User进行简单的配置. ③SpringIoCDebug为测试类. 先看执行结果:

openStack CentOS虚拟桌面iptables初始化配置

使用iptables给内网服务器做端口映射

iptables filter 表案例 iptables的语法规则iptables -nvL 查看规则iptables -F 清空规则iptables save 保存写入的规则iptables -Z 清空iptables的数据流计数器iptables -A INPUT -s 源IP -p tcp --sprot 来源端口 -d 目标IP --dport 目标端口 -j DROP/ACCEPT 指定放行的数据流和端口iptables -I/-A/-D INPUT -s 源IP -j DROP 添加

Linux iptables防火墙原理与常用配置

Linux系统中,防火墙(Firewall),网址转换(NAT),数据包(package)记录,流量统计,这些功能是由Netfilter子系统所提供的,而iptables是控制Netfilter的工具.iptables将许多复杂的规则组织成成容易控制的方式,以便管理员可以进行分组测试,或关闭.启动某组规则.iptable只读取数据包头,不会给信息流增加负担,也无需进行验证. iptables结构 iptables由4表.5链和用户在链内写入的各种规则所组成. 1.表:容纳各种规则链: 表是按照功

[centos][docker][logrotate][nginx] 为docker内的程序配置logrotated方法

情景 一般情况下,我们都会映射一个外部目录到docker里边,docker里边的程序会将数据,包括 日志写在这个目录里,这个时候,日志是docker内外都可见的.例如常用的ngingx部署方法.  [class_tong @ https://www.cnblogs.com/hugetong/] 背景 logrotate是一个日志回滚的工具,它会根据时间或文件大小规则,对日志文件进行切分以及删除 操作. logrotate本身不是一个daemon进程,他是一个crond任务,每天调用一次. 另外,