青草久久影院-青草久久伊人-青草久久久-青草久久精品亚洲综合专区-SM双性精跪趴灌憋尿调教H-SM脚奴调教丨踩踏贱奴

17站長網(wǎng)

17站長網(wǎng) 首頁 網(wǎng)站 服務(wù)器 查看內(nèi)容

linux防火墻iptables的詳細介紹和配置方法

2022-10-17 13:24| 查看: 2076 |來源: 互聯(lián)網(wǎng)

1.1 iptables防火墻簡介 Netfilter/Iptables(以下簡稱Iptables)是unix/linux自帶的一款優(yōu)秀且開放源代碼的安全自由的**基于包過濾的防火墻工具**,它的功能十 ...

1.1 iptables防火墻簡介

Netfilter/Iptables(以下簡稱Iptables)是unix/linux自帶的一款優(yōu)秀且開放源代碼的安全自由的**基于包過濾的防火墻工具**,它的功能十分強大,使用非常靈活,可以對流入和流出服務(wù)器的數(shù)據(jù)包進行很精細的控制。特別是它可以在一臺非常低的硬件配置下跑的非常好

Iptables是Linux2.4及2.6內(nèi)核中集成的服務(wù)。其功能與安全性比其**ipfwadm,ipchains**強大的多,iptables主要工作在OSI七層的二、三、四層,如果重新編譯內(nèi)核,iptables也可以支持**7層控制**(squid代理+iptables)

1.2 iptables 名詞和術(shù)語

容器:包含和被包含的關(guān)系 

iptables是表的容器 

iptables包含表 (4張表)表是鏈的容器,每個表都包含若干個鏈 

鏈?zhǔn)且?guī)則的容器,真正過濾規(guī)則是屬于鏈里面的 

級別介紹

iptables   國家  表            省  鏈            市  規(guī)則        縣

1.3 iptables工作流程

iptables是采用數(shù)據(jù)包過濾機制工作的,所以它會對請求的數(shù)據(jù)包的包頭數(shù)據(jù)進行分析,并根據(jù)我們預(yù)先設(shè)定的規(guī)則來進行匹配是否可以進入到主機。

iptables工作流程小結(jié)

  • 防火墻是一層層過濾的。實際是按照配置規(guī)則的順序從上到下,從前到后進行過濾的。 

  • 如果匹配上規(guī)則,即明確表是阻止還是通過,此時數(shù)據(jù)包就不在向下匹配新規(guī)則了。 

  • 如果所有規(guī)則中沒有明確是阻止還是通過這個數(shù)據(jù)包,也就是么有匹配上新規(guī)則,向下進行匹配,直到匹配默認規(guī)則得到明確的組織還是通過 

  • 防火墻的默認規(guī)則是對應(yīng)鏈的所有規(guī)則執(zhí)行完才會執(zhí)行的。

1.4 iptables表(tables)和鏈(chains)

iptables根據(jù)功能和表的定義劃分包含三個表,filter,nat,mangle,其每個表又包含不同的操作鏈(Chains)

Filter表 是真正的防火墻功能 

INPUT 進服務(wù)器 OUTPUT出服務(wù)器 FORWARD 流經(jīng)服務(wù)器 

Nat 表 負責(zé)數(shù)據(jù)包改寫 網(wǎng)關(guān)共享上網(wǎng)、IP和端口映射 

OUTPUT 

PREROUTING 

POSTROUTING 

Mangle表 路由標(biāo)記 用的不多 

####所有鏈全有 

RAW 表 用處很少和Mangle一樣 

我們可以通過man iptables 來獲取

1.5 表介紹

對于filter表的控制是我們實現(xiàn)本機防火墻的重要手段,特別是對INPUT鏈的控制 

1.6 iptables表和鏈工作流程圖

提示: iptables主要由2個作用,第一是防火墻,第二是路由。 

NAT功能: 

企業(yè)案例:1)局域網(wǎng)上網(wǎng)共享(路由和網(wǎng)關(guān))NAT POSTROUTING 

     2)外部IP和端口映射為內(nèi)部IP和端口(DMZ功能),NAT PREROUTING 

Filter功能:

即防火墻FILTER INPUT FORWARD 

企業(yè)案例:主要應(yīng)用于服務(wù)器防火墻

2.1 配置iptables

iptables默認已經(jīng)安裝
[root@web02 ~]# iptables -V
iptables v1.4.7
[root@web02 ~]# rpm -qa iptables
iptables-1.4.7-16.el6.x86_64
[root@web02 ~]# /etc/init.d/iptables status
iptables: Firewall is not running.

查看iptables規(guī)則

[root@web02 ~]# iptables -nL
Chain INPUT (policy ACCEPT)

表示針對input鏈 ACCEPT是默認規(guī)則,默認是運行通過的

target prot opt source destination
input鏈下面具體的規(guī)則
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22
REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
Chain FORWARD (policy ACCEPT)
target prot opt source destination
REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
Chain OUTPUT (policy ACCEPT)
target prot opt source destination

如果沒有指定表,默認就是filfer表

iptables默認加載的內(nèi)核模塊
[root@web02 ~]# lsmod |egrep "nat|filter|ipt"
ipt_REJECT 2351 2
iptable_filter 2793 1
ip_tables 17831 1 iptable_filter

加載如下模塊到linux內(nèi)核

modprobe ip_tables
modprobe iptable_filter
modprobe iptable_nat
modprobe ip_conntrack 連接跟蹤
modprobe ip_conntrack_ftp 連接跟蹤
modprobe ip_nat_ftp
modprobe ipt_state

再次過濾,查看生效情況

[root@web02 ~]# lsmod |egrep "nat|filter|ipt"
nf_nat_ftp 3443 0
nf_conntrack_ftp 11953 1 nf_nat_ftp
iptable_nat 5923 0
nf_nat 22676 2 nf_nat_ftp,iptable_nat
ipt_REJECT 2351 2
nf_conntrack_ipv4 9154 5 iptable_nat,nf_nat
nf_conntrack 79206 6 nf_nat_ftp,nf_conntrack_ftp,iptable_nat,nf_nat,nf_conntrack_ipv4,xt_state
iptable_filter 2793 1
ip_tables 17831 2 iptable_nat,iptable_filter

清空所有的規(guī)則,只留下默認規(guī)則

[root@web02 ~]# iptables -F
[root@web02 ~]# iptables -X
[root@web02 ~]# iptables -Z

iptables -F 清除所有規(guī)則 

iptables -X 刪除用戶自定義規(guī)則 

iptables -Z 鏈的計數(shù)器清零 

2.2 禁止規(guī)則

查看端口

[root@web02 ~]# netstat -lntup|grep ssh
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1329/sshd
tcp 0 0 :::22 :::* LISTEN 1329/sshd

命令如下:

iptables -t filter -A INPUT -p tcp --dport 22 -j DROP

-A 添加規(guī)則到指定鏈的結(jié)尾,最后一條 

-I 添加規(guī)則到指定鏈的開頭,第一條 

-t 指定表,也可以不指定默認是filter 

-p 指定協(xié)議(all.tcp,udp.icmp)默認all 

--dport 指定端口 

-j 處理的行為 

ACCPET接收、DROP丟棄、REJECT拒絕

最好使用ACCPET和DROP,因為拒絕會返回給用戶信息。 

清除規(guī)則可以使用iptables -F 

還可以使用iptables -D INPUT 1 

-D指定刪除的鏈 

--line-number 顯示序列號 

iptables -nl --line-number 

提示:需要寫上鏈和序列號

溫馨提示:恢復(fù)剛才斷掉的SSH連接 

1)去機房重啟系統(tǒng)或登錄服務(wù)器刪除剛才的禁止規(guī)則 

2)讓機房人員重啟服務(wù)器或者讓機房人員拿用戶密碼登錄進去 

3)通過服務(wù)器的遠程管理卡管理(推薦) 

4)先寫一個定時任務(wù),每5分鐘就停止防火墻 

5)測試環(huán)境測試好,寫成腳本,批量執(zhí)行 

企業(yè)案例

3.1: 加-A和-I的區(qū)別

[root@web02 ~]# iptables -A INPUT -p tcp --dport 80 -j DROP
[root@web02 ~]# iptables -I INPUT -p tcp --dport 80 -j ACCEPT

按照iptables匹配規(guī)則,首先會先匹配第一行,依次向下。這樣設(shè)置拒絕就沒有用 

如果想在中間插入可以指定插入行號

[root@web02 ~]# iptables -nL
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80
DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination

還可以通過序列號插入iptables 命令

[root@web02 ~]# iptables -I INPUT 2 -p tcp --dport 80 -j ACCEPT
[root@web02 ~]# iptables -nL --line-number
Chain INPUT (policy ACCEPT)
num target prot opt source destination
1 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80
2 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80
3 DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80
Chain FORWARD (policy ACCEPT)
num target prot opt source destination
Chain OUTPUT (policy ACCEPT)
num target prot opt source destination

小結(jié):總結(jié)下刪除規(guī)則的方法 

1. iptables -D INPUT -p tcp --dport 8080 -j DROP 

2. iptables -F 刪所有規(guī)則 

3. /etc/init.d/iptables restart (用iptables命令行配置的命令都是臨時生效) 

4. iptables -D INPUT 規(guī)則序號

3.2:禁止10.0.0.0網(wǎng)段接入 

基于客戶端網(wǎng)段控制

[root@web02 ~]# iptables -A INPUT -s 10.0.0.0/24 -j DROP

-s指定源地址 

還可以使用不是這個網(wǎng)段的進行操作

[root@web02 ~]# iptables -A INPUT ! -s 10.0.0.0/24 -j DROP

案例:控制22端口 eth0網(wǎng)卡進來的數(shù)據(jù)

iptables -A INPUT -p tcp --dport 22 -i eth0 ! -s 10.0.0.0/24 -j DROP
iptables -A INPUT -p tcp --dport 22 -i eth0 ! -s 192.168.1.1 -j DROP

封掉3306端口

iptables -A INPUT -p tcp --dport 3306 -j DROP

匹配指定的協(xié)議

iptables -A INPUT -p tcp
iptables -A INPUT -p udp

匹配指定協(xié)議外的所有協(xié)議

iptables -A INPUT ! -p tcp

``匹配單一端口**

iptables -A INPUT -p tcp --sport 22 源端口
iptables -A INPUT -p udp --dport 22 目的端口

匹配端口范圍:

iptables -A INPUT -p tcp --sport 22:80
iptables -A INPUT -p tcp --dport 21,22,23 -j DROP---->錯誤語法
iptables -I INPUT -p tcp -m multiport --dport 22,23,24,25 -j DROP
iptables -I INPUT -p tcp -m multiport ! --dport 22,23,24,25 -j DROP
iptables -I INPUT -p tcp --dport 3306:8809 -j ACCEPT
iptables -I INPUT -p tcp --dport 18:80 -j DROP <----最佳方法

匹配ICMP類型

iptables -A INPUT -p icmp-type 8

icmp中有很多類型,其中8代表ping 

例:

iptables -A INPUT -p icmp --icmp-type 8 -j DROP
iptables -A INPUT -p icmp -m icmp --icmp-type any -j ACCEPT

因為icmp類型很多可以使用any,icmp的所有類型全禁

iptables -A INPUT -s 192.168.1.0/24 -p icmp -m icmp --icmp-type any -j ACCEPT

企業(yè)場景禁ping

iptables -A INPUT -p icmp --icmp-type 8 -s 10.0.0.0/24 -j ACCEPT

匹配網(wǎng)絡(luò)狀態(tài)

-m state --state
NEW:已經(jīng)或啟動新的連接
ESTABLISHED:已建立的連接
RELATED:正在啟動的新連接
INVALID:非法或無法識別的
FTP服務(wù)是特殊的,需要配狀態(tài)連接

允許關(guān)聯(lián)的狀態(tài)包通過(Web服務(wù)不要使用FTP服務(wù)) 

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

限制指定時間包的允許通過數(shù)量及并發(fā)數(shù)

-m limit --limit n/{second/minute/hour}

指定時間內(nèi)的請求速率“n”為速率,后面為時間分別為:秒、分、時

--limit-burst [n]

在同一時間內(nèi)允許通過的請求“n”為數(shù)字,不指定默認為5

iptables -I INPUT -s 10.0.1.0/24 -p icmp --icmp-type 8 -m limit --limit 5/min --limit-burst 2 -j ACCEPT

手動執(zhí)行iptables命令配置企業(yè)生產(chǎn)環(huán)境防火墻

生產(chǎn)環(huán)境配置主機防火墻的兩種模式 

1. 允許所有程序,對操作傷害的進行拒絕操縱 應(yīng)用場景:企業(yè)配置上網(wǎng)網(wǎng)關(guān)路由 

2. 拒絕所有操作,允許指定的操作 應(yīng)用場景:服務(wù)器主機防火墻

配置企業(yè)主機防火墻

[root@web02 ~]# iptables -F
[root@web02 ~]# iptables -X
[root@web02 ~]# iptables -Z

1.設(shè)置允許SSH登錄端口

[root@web02 ~]# iptables -A INPUT -p tcp --dport 22 -j ACCETP
[root@web02 ~]# iptables -A INPUT -p tcp -s 10.0.0.1/24 -j ACCEPT

2.設(shè)置允許本機lo通信規(guī)則

[root@web02 ~]# iptables -A INPUT -i lo -j ACCEPT
[root@web02 ~]# iptables -A OUTPUT -o lo -j ACCEPT

3.設(shè)置默認規(guī)則

[root@web02 ~]# iptables -P INPUT DROP
[root@web02 ~]# iptables -P OUTPUT ACCEPT
[root@web02 ~]# iptables -P FORWARD DROP

查看規(guī)則(現(xiàn)在的服務(wù)器是最安全的)

[root@web02 ~]# iptables -nL --line-number
Chain INPUT (policy DROP)
num target prot opt source destination
1 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:22
2 ACCEPT tcp -- 10.0.0.0/24 0.0.0.0/0
3 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
Chain FORWARD (policy DROP)
num target prot opt source destination
Chain OUTPUT (policy ACCEPT)
num target prot opt source destination
1 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0

4.開啟信任的IP網(wǎng)段 

允許IDC LAN/WAN 和辦公網(wǎng)IP的訪問,及對外合作機構(gòu)訪問

iptables -A INPUT -s 124.23.62.96/27 -p all -j ACCEPT #辦公室固定IP段
iptables -A INPUT -s 192.168.2.0/24 -p all -j ACCEPT #IDC機房的內(nèi)網(wǎng)網(wǎng)段
iptables -A INPUT -s 10.0.0.0/24 -p all -j ACCEPT #其他機房的內(nèi)網(wǎng)網(wǎng)段
iptables -A INPUT -s 203.82.24.0/24 -p all -j ACCEPT #IDC機房的外網(wǎng)網(wǎng)段
iptables -A INPUT -s 203.82.23.0/24 -p all -j ACCEPT #其他IDC機房的外網(wǎng)網(wǎng)段

現(xiàn)在還只是我們可以訪問,對外還無法訪問 

5.允許icmp類型協(xié)議通過

iptables -A INPUT -p icmp -m icmp-type any -j ACCEPT

提示:如果不想開,就不執(zhí)行此命令

iptables -A INPUT -p icmp -s 10.0.0.0/24 -m icmp --icmp-type any -j ACCEPT

6.允許關(guān)聯(lián)的狀態(tài)包通過(Web服務(wù)不要使用FTP服務(wù))

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

提示:以上配置就是合格服務(wù)器應(yīng)該配置的

保存

默認使用iptables并沒有永久保存,重啟失效。 

第一種方法:

/etc/init.d/iptables save

保存到/etc/sysconfig/iptables 下面

顯示如下格式

[root@web02 ~]# cat /etc/sysconfig/iptables
# Generated by iptables-save v1.4.7 on Mon Aug 15 01:33:44 2016
*nat
:PREROUTING ACCEPT [1413:153792]
:POSTROUTING ACCEPT [132:8834]
:OUTPUT ACCEPT [132:8834]
COMMIT
# Completed on Mon Aug 15 01:33:44 2016
# Generated by iptables-save v1.4.7 on Mon Aug 15 01:33:44 2016
*filter
:INPUT DROP [1798:662465]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [288:21100]
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -s 10.0.0.0/24 -p tcp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A OUTPUT -o lo -j ACCEPT
COMMIT
# Completed on Mon Aug 15 01:33:44 2016

第二種方法:

[root@web02 ~]# iptables-save >/etc/sysconfig/iptables

推薦使用第一種方式

測試:我通過其他服務(wù)器掃描我們配置的防火墻 

使用nmap工具進行分析,此工具需要安裝

[root@web02 ~]# yum -y install nmap

使用如下:更多可以使用nmap --help

[root@web02 ~]# nmap 10.0.0.8 -p 1-65535
Starting Nmap 5.51 ( http://nmap.org ) at 2016-08-15 04:28 CST
Nmap scan report for 10.0.0.8
Host is up (0.0000070s latency).
Not shown: 65532 closed ports
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
3306/tcp open mysql
Nmap done: 1 IP address (1 host up) scanned in 14.21 seconds

生產(chǎn)維護

(1)確定的規(guī)則; 

編輯/etc/sysconfig/iptables 

加入想要的規(guī)則:例如

-A INPUT -p tcp -m tcp --dport 873 -j ACCEPT
/etc/init.d/iptables reload

或者改配置的同時命令在執(zhí)行,也是永久生效。 

(2)命令試錯,沒問題了,然后放配置文件,這時不需要重啟了

惡意IP封殺

封IP,在第一行封。10.0.0.1 這個機器攻擊我們服務(wù)器或者在BBS里發(fā)垃圾帖子 

手工封IP:

iptables -I INPUT -s 10.0.0.1 -j DROP #粗,范圍大,外部攻擊者
Iptables -I INPUT -s 10.0.0.1 -j DROP
iptables -I INPUT -p tcp -s 10.0.0.1 --dport 80 -j DROP #細,范圍小。內(nèi)部

自動封IP:分析Web或應(yīng)用日志或者網(wǎng)絡(luò)連接狀態(tài)封掉垃圾IP 

腳本:

#!/bin/bash
#this is a server firewall created by oldboy 17:03 2006-7-26
# e_mail:[email protected]
# qqinfo:49000448
# function: a server firewall
# version:1.1
################################################
# oldboy trainning info.
# QQ 1986787350 70271111
# site: http://www.etiantian.org
# blog: http://oldboy.blog.51cto.com
# oldboy trainning QQ group: 208160987 45039636
################################################
#define variable PATH
IPT=/sbin/iptables
#Remove any existing rules
$IPT -F
$IPT -X
$IPT -Z
#setting default firewall policy
$IPT --policy OUTPUT ACCEPT
$IPT --policy FORWARD DROP
$IPT -P INPUT DROP
#setting for loopback interface
$IPT -A INPUT -i lo -j ACCEPT
$IPT -A OUTPUT -o lo -j ACCEPT
#setting access rules
#one,ip access rules,allow all the ips of
$IPT -A INPUT -s 10.0.10.0/24 -p all -j ACCEPT
$IPT -A INPUT -s 10.0.0.0/24 -p all -j ACCEPT
##下面的是重復(fù)的,作為知識點保留,單個服務(wù)的配置
#second,port access rules
#nagios
$IPT -A INPUT -s 10.0.10.0/24 -p tcp --dport 5666 -j ACCEPT
$IPT -A INPUT -s 10.0.0.0/24 -p tcp --dport 5666 -j ACCEPT
#db
$IPT -A INPUT -s 10.0.0.0/24 -p tcp --dport 3306 -j ACCEPT
$IPT -A INPUT -s 10.0.0.0/24 -p tcp --dport 3307 -j ACCEPT
$IPT -A INPUT -s 10.0.10.0/24 -p tcp --dport 3306 -j ACCEPT
$IPT -A INPUT -s 10.0.10.0/24 -p tcp --dport 3307 -j ACCEPT
#ssh difference from other servers here.>>
$IPT -A INPUT -s 10.0.0.0/24 -p tcp --dport 52113 -j ACCEPT
$IPT -A INPUT -s 10.0.10.0/24 -p tcp --dport 52113 -j ACCEPT
$IPT -A INPUT -p tcp --dport 22 -j ACCEPT
#http
$IPT -A INPUT -p tcp --dport 80 -j ACCEPT
#snmp
$IPT -A INPUT -s 10.0.0.0/24 -p UDP --dport 161 -j ACCEPT
$IPT -A INPUT -s 10.0.10.0/24 -p UDP --dport 161 -j ACCEPT
#rsync
$IPT -A INPUT -s 10.0.0.0/24 -p tcp -m tcp --dport 873 -j ACCEPT
$IPT -A INPUT -s 10.0.10.0/24 -p tcp -m tcp --dport 873 -j ACCEPT
#icmp
#$IPT -A INPUT -p icmp -m icmp --icmp-type any -j ACCEPT
#others RELATED
$IPT -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPT -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

企業(yè)案例:寫一個腳本解決DOS攻擊生產(chǎn)案例 

提示:根據(jù)web日志或者或者網(wǎng)絡(luò)連接數(shù),監(jiān)控當(dāng)某個IP并發(fā)連接數(shù)或者短時內(nèi)PV達到100,即調(diào)用防火墻命令封掉對應(yīng)的IP,監(jiān)控頻率每隔3分鐘。防火墻命令為:iptables -I INPUT -s 10.0.1.10 -j DROP 

本腳本使用測試文件進行編寫 

[root@db02 scripts]# cat test_6.sh
#!/bin/sh
#
[ -f /etc/init.d/functions ] && . /etc/init.d/functions
IP_file="/server/scripts/ddos.txt"
IP_filter_command="iptables -I INPUT -j DROP -s"
IP_recover_command="iptables -D INPUT -j DROP -s"
function IP_check(){
grep "EST" ${IP_file}|awk -F "[ |:]+" '{print $6}'|sort |uniq -c|sort -rn -k1 > /server/scripts/ip.txt
}
function IP_filter(){
exec < /server/scripts/ip.txt
while read line
do
IP_count=`echo $line|awk '{print $1}'`
IP=`echo $line|awk '{print $2}'`
IP_fil=`iptables -L -n|grep "\b${IP}\b"|wc -l`
if [ ${IP_count} -gt 25 -a ${IP_fil} -eq 0 ];then
${IP_filter_command} ${IP}
echo "${IP}" >> /server/scripts/ip_filtered.txt
action "Filter ${IP}" /bin/true
fi
done
}
function IP_recover(){
exec < /server/scripts/ip.txt
while read line
do
IP_count=`echo $line|awk '{print $1}'`
IP=`echo $line|awk '{print $2}'`
IP_fil=`iptables -L -n|grep "\b${IP}\b"|wc -l`
if [ ${IP_count} -le 25 -a ${IP_fil} -eq 1 ];then
${IP_recover_command} ${IP}
echo "${IP}" >> /server/scripts/ip_filtered.txt
action "Recover ${IP}" /bin/true
fi
done
}
function main(){
case "$1" in
filter)
IP_check
echo "$(date +%F-%H:%M:%S) filtered by $(whoami)" >> /server/scripts/ip_filtered.txt
IP_filter
;;
recover)
IP_check
echo "$(date +%F-%H:%M:%S) recovered by $(whoami)" >> /server/scripts/ip_filtered.txt
IP_recover
;;
*)
echo "USAGE:$0 {filter|recover}"
exit 1
esac
}
main $*

生產(chǎn)環(huán)境iptables腳本講解

技巧:具備外網(wǎng)IP的服務(wù)器不對外的服務(wù)最好要做源地址限制。對外提供的服務(wù),不能做源地址限制,例如:80 端口 

問題:企業(yè)硬件防火墻和IPTABLES防火墻是否要同時用。 

解決:可以同時使用企業(yè)硬件防火墻一般放在網(wǎng)關(guān)位置,相當(dāng)于大廈的保安,但是樓里的每個屋子還是需要有人鎖門的iptables

問題: IDC機房部署了硬件防火墻,我們的服務(wù)器可以不開防火墻嗎? 

解答:絕對不可以,大廈有了保安,你的辦公室門就不鎖了嗎?

NAT表設(shè)置

共享上網(wǎng)設(shè)置 

linux網(wǎng)關(guān)B: 

局域網(wǎng)共享的兩條命令方法:

方法1:適合于有固定外網(wǎng)地址的:

iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j SNAT --to-source 10.0.0.7

(1)-s192.168.1.0/24 辦公室或IDC內(nèi)網(wǎng)網(wǎng)段。 

(2)-oeth0 為網(wǎng)關(guān)的外網(wǎng)卡接口。 

(3)-jSNAT --to-source 10.0.0.7 是網(wǎng)關(guān)外網(wǎng)卡IP地址。 

方法2:適合變化外網(wǎng)地址(ADSL):

iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j MASQUERADE #偽裝。

配置如下

第一步:外網(wǎng)服務(wù)器配置

[root@lb01 ~]# iptables -t nat -A POSTROUTING -s 172.16.1.0/24 -j SNAT --to-source 10.0.0.5

[root@lb01 ~]# iptables -t nat -L -n

開啟內(nèi)核轉(zhuǎn)發(fā)

net.ipv4.ip_forward = 1
vim /etc/sysctl.conf
sysctl -p #生效

需要上網(wǎng)服務(wù)器設(shè)置 

添加路由

route add default gw 172.16.1.5#此處寫提供外網(wǎng)的IP地址

vim /etc/resolv.conf

添加 nameserver 223.5.5.5 

route -n 檢查

案例2:實現(xiàn)把訪問10.0.0.5:80的請求轉(zhuǎn)到172.16.1.8:80

[root@web02 ~]# iptables -t nat -A PREROUTING -d 10.0.0.5 -p tcp --dport 80 -j DNAT --to-destination 172.16.1.8:80
[root@web02 ~]# iptables -P FORWARD DROP

iptables常用企業(yè)案例:

1、Linux主機防火墻(表:FILTER 控制鏈:INPUT) 

2、局域網(wǎng)機器共享上網(wǎng)(表:NAT 控制鏈:POSTROUTING)

iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j SNAT --to-source 10.0.0.7

3、外部地址和端口,映射為內(nèi)部地址和端口(表:NAT 控制的鏈:PREROUTING)

iptables -t nat -A PREROUTING -d 10.0.0.7 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.8:9000

企業(yè)案例:實現(xiàn)外部IP 124.42.34.112 一對一映射到內(nèi)部server 10.0.0.8 

網(wǎng)關(guān)Ip:eth0:124.42.60.109 eth1:10.0.0.254 

首先在路由網(wǎng)關(guān)上綁定VIP 124.42.34.112,可以是別名或輔助IP的方式。

-A POSTROUTING -s 10.0.0.0/255.255.240.0 -d 124.42.34.112 -j SNAT --to-source 10.0.0.254
-A PREROUTING -d 124.42.34.112 -j DNAT --to-destination 10.0.0.8
-A POSTROUTING -s 10.0.0.8 -o eth0 -j SNAT --to-source 124.42.34.112

iptables 生產(chǎn)應(yīng)用場景

1)局域網(wǎng)共享上網(wǎng)(適合做企業(yè)內(nèi)部局域網(wǎng)上網(wǎng)網(wǎng)關(guān),以及IDC機房內(nèi)網(wǎng)的上網(wǎng)網(wǎng)關(guān)[nat POSTROUTING]) 

2)服務(wù)器防火墻功能(適合IDC機房具有外網(wǎng)IP的服務(wù)器)(主要是filter INPUT的控制) 

3)把外部IP及端口映射到局域網(wǎng)內(nèi)部(可以一對一IP映射,也可以針對某一個端口映射)也可能是IDC把網(wǎng)站的外網(wǎng)VIP及網(wǎng)站端口映射到負載均衡器上(硬件防火墻)。(nat PREROUTING) 

4)辦公路由器+網(wǎng)關(guān)功能(zebra路由+iptables過濾及NAT+squid正向透明代理)80+ntop/iftop/iptraf流量查看+tc/cbq流量控制限速 

5)郵件的網(wǎng)關(guān)

iptables防火墻的應(yīng)用

1)主機防火墻 

2)網(wǎng)關(guān)的應(yīng)用(IP映射,端口映射) 

3)過濾信息,監(jiān)控限制流量及員工上網(wǎng)行為(squid(正向代理緩存加過濾)+ntop(圖形流量監(jiān)控)+通常(流量限制)+iptraf/iftop(流量查看)) 

如果IPTABLES的服務(wù)器升級內(nèi)核可以實現(xiàn)類似squid的過濾功能 

4)網(wǎng)關(guān)裝殺毒軟件監(jiān)聽9999端口,(網(wǎng)關(guān)殺毒)

iptables -A PREROUTING -i eth0 -d 211.167.253.109 -p tcp -m tcp --dport 25 -j DNAT --to-destination 192.168.10.6:9025

5)結(jié)合zebra配置企業(yè)級路由器

映射多個外網(wǎng)IP上網(wǎng)

iptables -t nat -A POSTROUTING -s 10.0.0.1/255.255.255.0 -o eth0 -j SNAT --to-source 124.42.60.11-124.42.60.16

iptables -t nat -A POSTROUTING -s 172.16.1.0/255.255.255.0 -o eth0 -j SNAT --to-source 124.42.60.103-124.42.60.106

#iptables -t nat -A postrouting -S 192.168.1.0/22 -o eth0 -j SNAT --to-source 10.0.0.241-10.0.0.249

問題: 

1、2000人被封 

2、可用65535端口資源有限

企業(yè)案例: ip_conntrack: table full, dropping packet.的錯誤提示 

以下是我的生產(chǎn)環(huán)境的某個服務(wù)器的配置:

net.ipv4.tcp_fin_timeout = 2
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_keepalive_time = 600
net.ipv4.ip_local_port_range = 4000 65000
net.ipv4.tcp_max_syn_backlog = 16384
net.ipv4.tcp_max_tw_buckets = 36000
net.ipv4.route.gc_timeout = 100
net.ipv4.tcp_syn_retries = 1
net.ipv4.tcp_synack_retries = 1
#5、dmesg里面顯示ip_conntrack: table full, dropping packet.的錯誤提示.如何解決。 
#以下參數(shù)是對iptables防火墻的優(yōu)化,防火墻不開會提示,可以忽略不理。 
c58:
 
net.ipv4.ip_conntrack_max = 25000000
net.ipv4.netfilter.ip_conntrack_max=25000000
net.ipv4.netfilter.ip_conntrack_tcp_timeout_established=180
net.ipv4.netfilter.ip_conntrack_tcp_timeout_time_wait=120
net.ipv4.netfilter.ip_conntrack_tcp_timeout_close_wait=60
net.ipv4.netfilter.ip_conntrack_tcp_timeout_fin_wait=120
################################################################
C64:
 
net.nf_conntrack_max = 25000000
net.netfilter.nf_conntrack_max = 25000000
net.netfilter.nf_conntrack_tcp_timeout_established = 180
net.netfilter.nf_conntrack_tcp_timeout_time_wait = 120
net.netfilter.nf_conntrack_tcp_timeout_close_wait = 60
net.netfilter.nf_conntrack_tcp_timeout_fin_wait = 120

調(diào)整內(nèi)核參數(shù)/etc/sysctl.conf后,需執(zhí)行/sbin/sysctl -p使得修改生效。 

強調(diào):如果并發(fā)比較大,或者日PV多的情況下,開啟防火墻要注意,很可能導(dǎo)致網(wǎng)站訪問緩慢 

大并發(fā)(并發(fā)1萬,PV日3000萬)要么購買硬件防火墻,要么不開iptables防火墻

iptables 參數(shù)簡介

-n 數(shù)字 
-L 列表 
-F 清除所有規(guī)則,不會處理默認規(guī)則 
-X 刪除用戶自定義的鏈 
-Z鏈的計數(shù)器清零 
-A 添加規(guī)則到指定鏈的結(jié)尾,最后一條 
-I 添加規(guī)則到指定鏈的開頭,第一條 
-t指定表,也可以不指定默認是filter 
-p 指定協(xié)議(all.tcp,udp.icmp)默認all 
-P 設(shè)置默認規(guī)則 
-s指定源地址 
-d 目的地址 
--dport 指定端口 
-j處理的行為 ACCPET接收、DROP丟棄、REJECT拒絕 
-iinput 匹配進入的網(wǎng)卡接口 
-ooutput 匹配出去的網(wǎng)卡接口 
-m state --state 匹配網(wǎng)絡(luò)狀態(tài)

以上linux防火墻iptables的詳細介紹和配置方法就是小編為大家收集整理的全部內(nèi)容了,希望對大家有所幫助。如果您喜歡這篇文章,可以收藏或分享給您的小伙伴們吧!歡迎持續(xù)關(guān)注我們的后續(xù)更新。

本文最后更新于 2022-10-17 13:24,某些文章具有時效性,若有錯誤或已失效,請在網(wǎng)站留言或聯(lián)系站長:[email protected]
·END·
站長網(wǎng)微信號:w17tui,關(guān)注站長、創(chuàng)業(yè)、關(guān)注互聯(lián)網(wǎng)人 - 互聯(lián)網(wǎng)創(chuàng)業(yè)者營銷服務(wù)中心

免責(zé)聲明:本站部分文章和圖片均來自用戶投稿和網(wǎng)絡(luò)收集,旨在傳播知識,文章和圖片版權(quán)歸原作者及原出處所有,僅供學(xué)習(xí)與參考,請勿用于商業(yè)用途,如果損害了您的權(quán)利,請聯(lián)系我們及時修正或刪除。謝謝!

17站長網(wǎng)微信二維碼

始終以前瞻性的眼光聚焦站長、創(chuàng)業(yè)、互聯(lián)網(wǎng)等領(lǐng)域,為您提供最新最全的互聯(lián)網(wǎng)資訊,幫助站長轉(zhuǎn)型升級,為互聯(lián)網(wǎng)創(chuàng)業(yè)者提供更加優(yōu)質(zhì)的創(chuàng)業(yè)信息和品牌營銷服務(wù),與站長一起進步!讓互聯(lián)網(wǎng)創(chuàng)業(yè)者不再孤獨!

掃一掃,關(guān)注站長網(wǎng)微信

大家都在看

  • 當(dāng)我們在共享網(wǎng)絡(luò)訪問的時候,可能會遇到提示指定的網(wǎng)絡(luò)名不再可用的問題,這可能是由于我們的共享網(wǎng)絡(luò)出現(xiàn)了錯誤,也可能是被共享的對象所拒絕了。指定的網(wǎng)絡(luò)名 ......

    故障排除 2023-03-10
  •   文/曹楊  原標(biāo)題:誰還看電視?  爸爸戴一副老花鏡,媽媽戴一副近視鏡,一人坐在沙發(fā),一人躺在床上,各自刷著自己關(guān)注的博主更新的短視頻。電視也許開著,但只是背景。  這樣的畫面,幾乎成了洛奇家的常 ...

    站長 2020-12-09
  • 1、首先進入到“百度”軟件中, 2、然后在其中輸入“百度識圖”, 3、之后點擊圖中的“開始使用”按鈕, 4、緊接著點擊右下角的“相冊”功能, 5、在相冊下 ......

    軟件教程 2023-02-17
  • 圖片來源于簡書  文/郭開森 楊帆  陸玖財經(jīng)準(zhǔn)備開新欄目了,每周一創(chuàng)始人郭開森和楊帆合體郭德帆,對行業(yè)進行一些觀察和評論,第一篇我們?nèi)允谴蛩銓懮鐓^(qū)團購,這是當(dāng)下最火的話題。  來過陸玖財經(jīng)做客的朋友們...

    熱議 2020-12-07
  • 一、軟件沖突1、首先確認是否是應(yīng)用程序沖突導(dǎo)致的。2、查看是否只有特定幾個游戲或應(yīng)用會導(dǎo)致該問題。3、如果是應(yīng)用沖突,那么只要卸載這些app就可以解決了。二 ......

    軟件教程 2022-12-27
  • 電腦端:1、大家可以點擊右邊鏈接進入網(wǎng)頁版的百度網(wǎng)盤,進入之后點擊“去登錄”。https://pan.baidu.com/2、之后正確的輸入賬號密碼進行登錄就好啦。手機端:1 ......

    軟件教程 2022-12-27
  • 一、N100對比intel i3 1、N100的跑分達到了147210分,這個數(shù)據(jù)可以達到i3的七代級別。 2、在跑分上也是超越了大部分的I3七代CPU,不過比I3八代要弱勢一些。 3 ......

    硬件知識 2023-04-26
  • 8月15日消息 上周,有媒體報道前身為百度圖片的“榴蓮”APP含有大量不雅視頻內(nèi)容被用戶舉報。對此,百度圖片官方進行了回應(yīng),百度圖片表示已經(jīng)對報道中所涉及的“生吃旋風(fēng)哥”等爭議內(nèi)容進行了下線處理。 此外,百度...

    站長 2016-08-15
  • 在填寫一些項目申請書中,總是免不了要選擇一些數(shù)字,但是在方框中如何插入數(shù)字,該怎么辦呢?那么下面就由學(xué)習(xí)啦小編給大家分享下word在方框里輸入數(shù)字的技巧, ......

    Word教程 2023-04-27
  • WPS Office手機版怎么加橫線?很多用戶還不知道WPS Office手機版怎么加橫線,WPS Office手機版怎么加橫線,WPS Office手機版怎么打橫線,WPS Office手機版怎么弄 ......

    WPS教程 2023-03-31
  • 迅雷前綴是什么 答:迅雷前綴是(magnet:?xt=urn:btih:)括號里的就是了。 我們只要在這段文字之后輸入后續(xù)的內(nèi)容,就可以創(chuàng)建下載鏈接了。 1、磁力鏈接不基于文 ......

    軟件教程 2023-06-03
  • 一、內(nèi)容特權(quán)。 1、半價點播。 許多站內(nèi)視頻都需要付費觀看,而大會員用戶可以直接半價享受; 購買成功后的48h內(nèi)無限次觀看。有部分的內(nèi)容是只限在中國大陸內(nèi)觀 ......

    軟件教程 2023-05-05
  • 1、首先打開小米運動的“實驗室功能”。 2、接著點擊“門卡模擬”。 3、然后點擊“我知道了”。 4、最后貼近就可以刷卡成功了。...

    硬件知識 2023-05-17
  • 1、打開手機輕顏相機app,點擊“我的”,點擊“設(shè)置”,2、點擊“幫助與反饋”,3、點擊右下角“在線咨詢”即可聯(lián)系客服,詢問自己的問題啦!...

    軟件教程 2023-03-16
  • 答:華為P系列: 華為p40,華為p40plus,華為p50,華為p50e,華為p60 華為mate系列: 華為mate40,華為mate50,華為mate50e,華為mate60 華為nova系列: 華為n ......

    鴻蒙系統(tǒng) 2023-04-24
  • 近期有用戶反映,電腦在更新Windows 11 Insider Preview 25252.1000后,出現(xiàn)了應(yīng)用和已壓縮的文件點擊毫無反應(yīng),拖拽都不行,只能從開始菜單打開的情況,這是怎 ......

    windows11 2022-12-13
  • 可見單元格就是不包括隱藏或者篩選篩選后隱藏起來的單元格區(qū)域。方法:篩選或隱藏數(shù)據(jù),復(fù)制需要粘貼的值,在目標(biāo)單元格區(qū)域左上角的第一個單元格處右擊,選擇【 ......

    WPS教程 2022-12-10
  • 答:驍龍8+更好。 驍龍7+gen2實際上就是驍龍8+的低配版本。 在一些其他的核心架構(gòu)方面都是保持一致的,比如說CPU的架構(gòu)、GPU的架構(gòu)等等。 驍龍7+和驍龍8+具體 ......

    硬件知識 2023-04-06
  •   文/黎明  一場針對中國互聯(lián)網(wǎng)巨頭的反壟斷風(fēng)暴正在醞釀,而且這次動真格了。  11月10日,國家市場監(jiān)管總局發(fā)布《關(guān)于平臺經(jīng)濟領(lǐng)域的反壟斷指南(征求意見稿)》,要加大對互聯(lián)網(wǎng)巨頭涉嫌壟斷的調(diào)查和監(jiān)管。 ...

    熱議 2020-11-14
  • 文件被win10系統(tǒng)誤報病毒自動刪除了如何進行恢復(fù)?有用戶下載了某些破解軟件卻被Win10系統(tǒng)誤認為是病毒文件而自動刪除,當(dāng)然系統(tǒng)自帶殺毒軟件其實挺不錯的,就是有時候會誤報,大家遇到這種情況的時候就希望把誤刪的...

    windows10 2022-11-20
  • win11系統(tǒng)如何釋放掉系統(tǒng)默認保留的存儲空間?一般情況下,Windows會保留一些存儲空間,以便設(shè)備獲得良好性能和成功更新。但是當(dāng)出現(xiàn)系統(tǒng)盤儲存空間不足時,我們會將幾個G的保留空間釋放出來,以解燃眉之急。本期教...

    windows11 2022-11-17
  • 1、先打開機頂盒進入主界面,并且使用遙控器打開設(shè)置。 2、然后選擇“賬號與安全”,并且進入。 3、最后往下面翻就可以看到“ADB調(diào)試”的選項,直接開啟就行了 ......

    軟件教程 2023-06-01
  • 答:在3DMark壓力測試當(dāng)中,顯卡需要超高97%才能夠算合格,證明顯卡的穩(wěn)定性是過關(guān)的。 1、一般的默認情況下在2500~3000分就算很正常的了。 2、分數(shù)越高說明顯卡 ......

    軟件教程 2023-06-01
  • 羅技g304dpi燈顏色代表什么:1、藍色:這種情況是正常工作的顯示,如果說是常亮或者閃爍,那都沒有問題這是在正常工作呢。2、紅色:如果說是紅燈閃爍的話那就是 ......

    硬件知識 2023-03-16
  • win11系統(tǒng)快速跳過聯(lián)網(wǎng)創(chuàng)建本地管理賬戶3種方法?現(xiàn)在市面上銷售的品牌筆記本和臺式機基本上都預(yù)裝Windows11家庭中文版正版操作系統(tǒng),聯(lián)網(wǎng)后系統(tǒng)會自動激活。當(dāng)用戶拿到新機器后還需要按照cortana(小娜)的提示一步...

    windows11 2022-11-13
  • 我們經(jīng)常用WPS的時候,如果需要輸入波浪號~,會發(fā)現(xiàn)鍵盤上的波浪號輸入之后在最上面,但是為了美觀,我們希望波浪號顯示在中間。這里總結(jié)了三個方法分享給大家 ......

    WPS教程 2023-02-18
  • 答:中高端水平 i513500hx在處理器當(dāng)中是處于一個中高端的水平。 i513500hx是第十一代酷睿處理器系列的一員,基礎(chǔ)頻率為2.4GHz,表現(xiàn)十分的不錯。 i513500hx介 ......

    硬件知識 2023-04-27
  • 相信有非常多使用過筆記本的用戶都聽說過獨顯直連這個詞,但很多用戶并不了解獨顯直連是什么,又有什么用處,那么下面就和小編一起來看看什么是獨顯直連和開啟這 ......

    其它 2022-12-15
  • win11系統(tǒng)開機總是自動登錄OneDrive如何關(guān)閉?win11系統(tǒng)開機的時候,會自動啟動OneDrive,不想要啟動,該怎么操作呢?下面我們就來看看詳細的教程。 在OneDrive界面點小齒輪按鈕,下拉菜單中點【設(shè)置】。 單擊【...

    windows11 2022-11-15
  • 打開軟件,直接填寫就可以。 1、下載安裝easyconnect軟件, 2、打開easyconnect應(yīng)用,在如圖所示的“服務(wù)器地址”一欄輸入如圖所示網(wǎng)址,點擊“連接”, 3、等 ......

    軟件教程 2023-04-03

熱門排行

    最近更新

      返回頂部
      主站蜘蛛池模板: 国产精品久久久久久久久久影院 | 中文字幕专区高清在线观看 | 欧美精品高潮呻吟AV久久 | 亚洲美女视频高清在线看 | 久久成人免费大片 | 视频一区在线免费观看 | 国产h视频在线观看网站免费 | 国产精自产拍久久久久久蜜 | 91热久久免费精品99 | 暖暖 免费 高清 日本在线 | 99久久爱re热6在线播放 | 国产成人在线小视频 | 性色爽爱性色爽爱网站 | 91久久精品一区二区三区 | 亚洲另类中文字幕 | hdxxxx58丝袜连裤袜 | 777ZYZ玖玖资源站最稳定网址 | 亚洲色欲色欲WWW在线成人网 | 大稥焦伊人一本dao 大香伊人中文字幕精品 | 美女议员被泄裸照 | 精品亚洲永久免费精品 | 午夜无码国产理论在线 | 99久久国语露脸精品国产 | 越南美女内射BBWXZ | 美艳人妻在厨房翘着屁股 | 4399的视频BD高清在线观看免费 | 久久久久毛片免费观看 | 国产成人亚洲精品午夜国产馆 | 高干紧射H后入 | 在线观看免费毛片 | 老司机午夜影院试看区 | 国产亚洲精品影视在线 | 国产精品高清m3u8在线播放 | 国产精品色欲AV亚洲三区软件 | 亚洲国产精品第一影院在线观看 | 樱花草在线影视WWW日本动漫 | 午夜看片福利在线观看 | 99国内精品久久久久久久清纯 | 日日a.v拍夜夜添久久免费 | 欧美三级不卡在线观线看 | 69夫妻交友网 |