1. 程式人生 > >linux 無 iptables解決辦法

linux 無 iptables解決辦法

檢查是否安裝了iptables

service iptables status

安裝iptables

yum install -y iptables

升級iptables

yum update iptables

安裝iptables-services

yum install iptables-services

iptables-services 和 iptables 是不一樣的

安裝了 services才有/etc/sysconfig/iptables

禁用/停止自帶的firewalld服務

停止firewalld服務

systemctl stop firewalld

禁用firewalld服務

systemctl mask firewalld

設定現有規則

檢視iptables現有規則

iptables -L -n

先允許所有,不然有可能會杯具

iptables -P INPUT ACCEPT

清空所有預設規則

iptables -F

清空所有自定義規則

iptables -X

所有計數器歸0

iptables -Z

允許來自於lo介面的資料包(本地訪問)

iptables -A INPUT -i lo -j ACCEPT

開放22埠

iptables -A INPUT -p tcp --dport 22 -j ACCEPT

開放21埠(FTP)

iptables -A INPUT -p tcp --dport 21 -j ACCEPT

開放80埠(HTTP)

iptables -A INPUT -p tcp --dport 80 -j ACCEPT

開放443埠(HTTPS)

iptables -A INPUT -p tcp --dport 443 -j ACCEPT

允許ping

iptables -A INPUT -p icmp --icmp-type 8 -j ACCEPT

允許接受本機請求之後的返回資料 RELATED,是為FTP設定的

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

其他入站一律丟棄

iptables -P INPUT DROP

所有出站一律綠燈

iptables -P OUTPUT ACCEPT

所有轉發一律丟棄

iptables -P FORWARD DROP

其他規則設定

如果要新增內網ip信任(接受其所有TCP請求)

iptables -A INPUT -p tcp -s 45.96.174.68 -j ACCEPT

過濾所有非以上規則的請求

iptables -P INPUT DROP

要封停一個IP,使用下面這條命令:

iptables -I INPUT -s ... -j DROP

要解封一個IP,使用下面這條命令:

iptables -D INPUT -s ... -j DROP

儲存規則設定

儲存上述規則

service iptables save

開啟iptables服務

註冊iptables服務

相當於以前的chkconfig iptables on

systemctl enable iptables.service

開啟服務

systemctl start iptables.service

檢視狀態

systemctl status iptables.service

解決vsftpd在iptables開啟後,無法使用被動模式的問題

1.首先在/etc/sysconfig/iptables-config中修改或者新增以下內容

新增以下內容,注意順序不能調換

IPTABLES_MODULES=”ip_conntrack_ftp” 
IPTABLES_MODULES=”ip_nat_ftp”

2.重新設定iptables設定

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

以下為完整設定指令碼

!/bin/sh

iptables -P INPUT ACCEPT 
iptables -F 
iptables -X 
iptables -Z 
iptables -A INPUT -i lo -j ACCEPT 
iptables -A INPUT -p tcp –dport 22 -j ACCEPT 
iptables -A INPUT -p tcp –dport 21 -j ACCEPT 
iptables -A INPUT -p tcp –dport 80 -j ACCEPT 
iptables -A INPUT -p tcp –dport 443 -j ACCEPT 
iptables -A INPUT -p icmp –icmp-type 8 -j ACCEPT 
iptables -A INPUT -m state –state RELATED,ESTABLISHED -j ACCEPT 
iptables -P INPUT DROP 
iptables -P OUTPUT ACCEPT 
iptables -P FORWARD DROP 
service iptables save

systemctl restart iptables.service