如何設置iptables來阻止除SSH在Debian的Linux的所有流量?
檢查當前iptables配置
iptables -S
如下輸出應該是空的…
-p輸入ACCEPT -P FORWARD ACCEPT -P OUTPUT ACCEPT
如果你的iptables是不是空的正上方,然後額外的端口可能是你的機器上開啟. 在這種情況下, 刷新表, 類型 iptables -F, 然後通過鍵入檢查iptables配置 iptables -S.
保證是根
su
一次輸入以下配置命令一行. 請確保輸入順序是一樣的下面, 否則,你可能會阻止SSH.
iptables的INPUT -A -i LO -j ACCEPT iptables的INPUT -A -p tcp的-m TCP --dport 22 -ĴACCEPT iptables的-A OUTPUT -o LO -j ACCEPT iptables的-A OUTPUT -p tcp的--sport 22 -米狀態--state ESTABLISHED -j ACCEPT iptables的-P INPUT DROP iptables的-P OUTPUT DROP
在以上, Lo是這是由一些應用程序,沒有它的一些應用程序可能需要打破的環回適配器.
您也可以允許所有流量輸出. 因此, 以下規則將改為適用上述的…
iptables的INPUT -A -i LO -j ACCEPT iptables的INPUT -A -p tcp的-m TCP --dport 22 -ĴACCEPT iptables的-P INPUT DROP
如果你想允許建立相關的數據包,然後下面的規則將適用. 如果沒有這個,你將無法使用apt-get和git請求. 改用以上的下列 2 規則集.
iptables的INPUT -I -m狀態--state ESTABLISHED,相關-j ACCEPT iptables的INPUT -A -i LO -j ACCEPT iptables的INPUT -A -p tcp的-m TCP --dport 22 -ĴACCEPT iptables的-P INPUT DROP
一旦你決定最適合您的系統的規則, 你將需要保存的規則, 否則他們不會重啟後持續
保存規則文件
iptables-save > /etc/iptables.conf
上述保存您的規則文件. 然後,您將需要加載在每次重新啟動您的規則
nano /etc/rc.local
以下行添加到文件, 以上 exit 0
iptables-restore < /etc/iptables.conf
下面是一些含義的規則...
確定的含義,所述分組與已經看到分組在兩個方向上的連接相關聯
相關含義數據包開始新的連接, 但與現有連接相關聯, 如FTP數據傳送, 或者一個ICMP錯誤.
