天天看點

debian iptables配置步驟

 debian  iptables配置步驟

一、iptables應具有的功能

1、滿足上述第二條保證資料庫安全的需求

2、對拒絕掉的資料包記錄到log

3、機器重新開機後iptables 自動激活

二、配置步驟

1、增加規則

在mysql主從裝置上執行以下紅色指令

iptables -A INPUT -p tcp  -s 192.168.0.196/32   -d 192.168.0.199 --dport 3300 -j ACCEPT

iptables -A INPUT -p tcp  -s 192.168.0.120/32  -d 192.168.0.199 --dport 3300 -j ACCEPT

iptables -A INPUT -p tcp  -d 192.168.0.199   --dport 3300 -j LOG  --log-prefix "iptables denied: " --log-level 4

iptables -A INPUT -p tcp  -d 192.168.0.199   --dport 3300 -j REJECT

以下為相關指令的解釋:

#允許特定主機連接配接mysql

#iptables -A INPUT -p tcp -s 192.168.0.196/32   -d 192.168.0.199--dport 3300 -j ACCEPT

#iptables -A INPUT -p tcp -s 192.168.0.120/32  -d 192.168.0.199--dport 3300 -j ACCEPT

#記錄拒絕的連接配接到log中,log-level 4 is warning

#iptables -A INPUT -p tcp  -d 192.168.0.199  --dport 3300 -j LOG  --log-prefix "iptables denied: " --log-level 4

#拒絕資料包,發起方提示連接配接失敗

#iptables -A INPUT -p tcp  -d 192.168.0.199 --dport 3300 -j REJECT

###以下幾條規則便于今後參考,在配置中暫不使用。

#drop掉資料包,發起方無反應

#iptables -A INPUT -p tcp  -d 192.168.206.121  --dport 3300 -j DROP

#檢視iptables的規則比對情況

#iptables -L -v 

#檢視日志

#tail -f  /var/log/messages

#删除第幾條規則

#iptables -D INPUT 1

2、儲存規則到配置檔案

# iptables-save >/etc/iptables.mysql.rules 

3、儲存規則到開機自啟動iptables的配置檔案

# iptables-save >/etc/iptables.mysql.up.rules

4、建立iptables的開機自啟動檔案

# vi /etc/network/if-pre-up.d/iptables

#!/bin/bash

/sbin/iptables-restore < /etc/iptables.mysql.up.rules

5、給iptables的開機自啟動檔案增加執行權限

# chmod +x /etc/network/if-pre-up.d/iptables

6、将deny的資料包寫入到/var/log/iptables.log

# vi /etc/rsyslog.conf 

##for log denied ip packets to /var/log/iptables.log,not to default /var/log/messages.

kern.warning  /var/log/iptables.log

重新開機日志程序

# /etc/init.d/rsyslog  restart

檢視log是否生效

#tail -f  /var/log/iptables.log

7、配置完成,進行相應測試。

分别在不同的機器上測試

#mysql -uusername -p123456 -h192.168.0.199 -P3300

檢查比對資料包的個數

# iptables -L -v -n                       

Chain INPUT (policy ACCEPT 853K packets, 70M bytes)

 pkts bytes target     prot opt in     out     source               destination         

    6   422 ACCEPT     tcp  --  *      *       192.168.0.196       192.168.0.199      tcp dpt:3300 

  453 28893 ACCEPT     tcp  --  *      *       192.168.0.120      192.168.0.199      tcp dpt:3300 

    1    60 LOG        tcp  --  *      *       0.0.0.0/0            192.168.0.199      tcp dpt:3300 LOG flags 0 level 4 prefix `iptables denied: ' 

    1    60 REJECT     tcp  --  *      *       0.0.0.0/0            192.168.0.199      tcp dpt:3300 reject-with icmp-port-unreachable 

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)

 pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 748K packets, 481M bytes)

 pkts bytes target     prot opt in     out     source               destination        

檢查iptables拒絕資料包的log

# tail -f  /var/log/iptables.log          

Nov 18 14:08:51 db199 kernel: [199125.557827] iptables denied: IN=eth0 OUT= MAC=00:18:8b:e5:87:af:84:2b:2b:60:ab:d8:08:00 SRC=192.168.0.234 DST=192.168.0.199 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=15617 DF PROTO=TCP SPT=43469 DPT=3300 WINDOW=5840 RES=0x00 SYN URGP=0 

Nov 18 14:25:21 db199 kernel: [200332.168071] iptables denied: IN=eth0 OUT= MAC=00:18:8b:e5:87:af:00:1a:30:3c:24:00:08:00 SRC=124.128.18.161 DST=192.168.0.199 LEN=60 TOS=0x00 PREC=0x00 TTL=56 ID=43242 DF PROTO=TCP SPT=15472 DPT=3300 WINDOW=5840 RES=0x00 SYN URGP=0