Linux自帶防火牆開啟IP白名單的的配置詳解
防火牆配置檔名稱/etc/sysconfig/iptables
Red Hat Enterprise Linux Server release 6.0開始預設配置如下
[root@DMT-Oracle-server ~]# cat /etc/sysconfig/iptables
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
--iptables檔案配置,從上至下生效,參考如上預設配置,如果去掉倒數第三、第二行關於REJECT的內容後service iptables start,相當於放開了所有許可權,和沒有開啟防火牆的結果一樣
--預設INPUT、OUTPUT、FORWARD都是ACCEPT的
--不新增規則,則對所有埠的資料來者不拒
[root@DMT-Oracle-server ~]# cat /etc/sysconfig/iptables
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -s 192.168.128.118 --dport 1521 -j ACCEPT
-A INPUT -p tcp -s 192.168.131.0/24 --dport 1521 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
--以上配置表示放開IP192.168.128.118和網段192.168.131的訪問伺服器1521埠,必須放在兩行REJECT之前
--透過命令iptables -L -n 檢視設定是否生效
各個引數解釋,參考man iptables
-A, --append chain rule-specification,表示新增一條規則
-D, --delete chain rule-specification,表示刪除一條規則
-R, --replace chain rulenum rule-specification,表示修改一條規則
-p, --protocol protocol,表示使用什麼協議,TCP還是UDP
-s, --source address[/mask][,...],表示來源的IP或網段
-j, --jump target,This specifies the target of the rule --後面接動作,主要的動作有接受(ACCEPT)、丟棄(DROP)、拒絕(REJECT)及記錄(LOG)
INPUT、OUTPUT、dport、sport的區別:
INPUT:進入本機的規則
OUTPUT:本機出去的規則
dport:目的埠
sport:來源埠
例子1:
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
這條INPUT規則可以這麼描述:
1.這是一條從外部進入內部本地伺服器的資料。
2.資料包的目的(dport)地址是22,就是要訪問我本地的22埠。
3.允許以上的資料行為透過。
例子2:
iptables -A INPUT -p tcp --sport 22 -j ACCEPT
這條INPUT規則可以這麼描述:
1.這是一條從外部進入內部本地伺服器的資料。
2.資料包的來源埠是(sport)22,就是對方的資料包是22埠傳送過來的。
3.允許以上資料行為。
例子3:
iptables -A OUTPUT -p tcp --dport 22 -j ACCEPT
這條OUTPUT規則可以這麼描述:
1.這是一條從內部出去的資料。
2.出去的目的(dport)埠是22。
3.允許以上資料行為。
例子4:
iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT
這條OUTPUT規則可以這麼描述:
1.這是一條從內部出去的資料。
2.資料包的來源埠是(sport)22,從本伺服器的22埠發出資料。
3.允許以上資料行為。
收集白名單IP(也就是經常連線資料庫的IP)的指令碼
[root@DMT-Oracle-server ~]# cat /iso/scripts/netstat_37.sh
#!/bin/sh
date>>/iso/scripts/log/netstat37.log
netstat -apnT|grep DW |awk '{print $5}'|sort -u >>/iso/scripts/log/netstat37.log
echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++" >>/iso/scripts/log/netstat37.log
#其中DW是OracleSID的部分關鍵字
#要加上-T否則太長的IP會統計不準確 -T, --notrim stop trimming long addresses
cat /iso/scripts/log/netstat37.log|grep 192|grep -v 37:1521|grep -v ffff|awk -F ":" '{print $1}'
cat /iso/scripts/log/netstat37.log|grep 192|grep -v 37:1521 | awk -F ":" '{print $4}'|sort -u
Red Hat Enterprise Linux Server release 6.0開始預設配置如下
[root@DMT-Oracle-server ~]# cat /etc/sysconfig/iptables
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
--iptables檔案配置,從上至下生效,參考如上預設配置,如果去掉倒數第三、第二行關於REJECT的內容後service iptables start,相當於放開了所有許可權,和沒有開啟防火牆的結果一樣
--預設INPUT、OUTPUT、FORWARD都是ACCEPT的
--不新增規則,則對所有埠的資料來者不拒
[root@DMT-Oracle-server ~]# cat /etc/sysconfig/iptables
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -s 192.168.128.118 --dport 1521 -j ACCEPT
-A INPUT -p tcp -s 192.168.131.0/24 --dport 1521 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
--以上配置表示放開IP192.168.128.118和網段192.168.131的訪問伺服器1521埠,必須放在兩行REJECT之前
--透過命令iptables -L -n 檢視設定是否生效
各個引數解釋,參考man iptables
-A, --append chain rule-specification,表示新增一條規則
-D, --delete chain rule-specification,表示刪除一條規則
-R, --replace chain rulenum rule-specification,表示修改一條規則
-p, --protocol protocol,表示使用什麼協議,TCP還是UDP
-s, --source address[/mask][,...],表示來源的IP或網段
-j, --jump target,This specifies the target of the rule --後面接動作,主要的動作有接受(ACCEPT)、丟棄(DROP)、拒絕(REJECT)及記錄(LOG)
INPUT、OUTPUT、dport、sport的區別:
INPUT:進入本機的規則
OUTPUT:本機出去的規則
dport:目的埠
sport:來源埠
例子1:
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
這條INPUT規則可以這麼描述:
1.這是一條從外部進入內部本地伺服器的資料。
2.資料包的目的(dport)地址是22,就是要訪問我本地的22埠。
3.允許以上的資料行為透過。
例子2:
iptables -A INPUT -p tcp --sport 22 -j ACCEPT
這條INPUT規則可以這麼描述:
1.這是一條從外部進入內部本地伺服器的資料。
2.資料包的來源埠是(sport)22,就是對方的資料包是22埠傳送過來的。
3.允許以上資料行為。
例子3:
iptables -A OUTPUT -p tcp --dport 22 -j ACCEPT
這條OUTPUT規則可以這麼描述:
1.這是一條從內部出去的資料。
2.出去的目的(dport)埠是22。
3.允許以上資料行為。
例子4:
iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT
這條OUTPUT規則可以這麼描述:
1.這是一條從內部出去的資料。
2.資料包的來源埠是(sport)22,從本伺服器的22埠發出資料。
3.允許以上資料行為。
收集白名單IP(也就是經常連線資料庫的IP)的指令碼
[root@DMT-Oracle-server ~]# cat /iso/scripts/netstat_37.sh
#!/bin/sh
date>>/iso/scripts/log/netstat37.log
netstat -apnT|grep DW |awk '{print $5}'|sort -u >>/iso/scripts/log/netstat37.log
echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++" >>/iso/scripts/log/netstat37.log
#其中DW是OracleSID的部分關鍵字
#要加上-T否則太長的IP會統計不準確 -T, --notrim stop trimming long addresses
cat /iso/scripts/log/netstat37.log|grep 192|grep -v 37:1521|grep -v ffff|awk -F ":" '{print $1}'
cat /iso/scripts/log/netstat37.log|grep 192|grep -v 37:1521 | awk -F ":" '{print $4}'|sort -u
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30126024/viewspace-2150527/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 嵌入式Linux可用的防火牆——iptables:實現ip白名單、mac地址白名單Linux防火牆Mac
- Linux 自帶防火牆 Iptables 基本配置Linux防火牆
- Linux防火牆的關閉、開啟和配置Linux防火牆
- DDoS攻防戰(三):ip黑白名單防火牆frdev的原理與實現防火牆dev
- Linux中iptables防火牆的簡單配置Linux防火牆
- 如何開啟或關閉win7自帶防火牆?Win7防火牆
- Linux防火牆的關閉和開啟Linux防火牆
- win10白名單怎麼設定_win10防火牆新增白名單的步驟Win10防火牆
- centos8.0配置靜態IP詳解及永久關閉防火牆CentOS防火牆
- linux 防火牆配置Linux防火牆
- Linux 配置防火牆Linux防火牆
- linux關閉防火牆命令 linux防火牆關閉和開啟命令Linux防火牆
- win10防火牆自動開啟如何設定_win10防火牆自動開啟怎麼操作Win10防火牆
- Linux 防火牆配置使用Linux防火牆
- iptables 配置LINUX防火牆Linux防火牆
- Linux 防火牆配置(iptables和firewalld)詳細教程。Linux防火牆
- Android 利用Iptables實現網路黑白名單(防火牆)Android防火牆
- 軟體防火牆與硬體防火牆詳解防火牆
- centos 6.x 7.x防火牆開啟埠範圍IP地址 配置CentOS防火牆
- Linux下關閉和開啟防火牆Linux防火牆
- linux 如何檢視防火牆是否開啟Linux防火牆
- CentOS7下Firewall防火牆配置用法詳解CentOS防火牆
- 【超詳細的】CentOS 下手動編譯 PHP7.* 開機自啟 環境變數 防火牆等配置CentOS編譯PHP變數防火牆
- 防火牆技術詳解防火牆
- linux系統檢視防火牆是否開啟並清除防火牆規則的方法步驟Linux防火牆
- ORACLE RAC開啟防火牆Oracle防火牆
- 使用IP鏈建立Linux防火牆(轉)Linux防火牆
- 防火牆-簡單瞭解防火牆
- linux下修改防火牆,開啟8080埠Linux防火牆
- linux在防火牆上開啟1521埠Linux防火牆
- CentOS 7 以上防火牆簡單配置CentOS防火牆
- CentOS 7 Docker 防火牆簡單配置CentOSDocker防火牆
- win10關防火牆方法_如何關閉win10自帶防火牆Win10防火牆
- 網路安全——防火牆詳解防火牆
- linux防火牆使用以及配置Linux防火牆
- 用FWTK配置Linux防火牆(轉)Linux防火牆
- 在Linux中,如何配置防火牆?Linux防火牆
- linux下的防火牆Linux防火牆