linux 防火牆設定 摘自網路

2021-07-11 05:44:07 字數 4871 閱讀 2869

iptables -f

(or)

iptables --flush

iptables的filter表中有三種鏈:input, forward和output。預設的鏈策略是accept,你可以將它們設定成drop。

iptables -p input drop

iptables -p forward drop

iptables -p output drop

iptables -a output -p icmp --icmp-type echo-request -j accept

iptables -a input -p icmp --icmp-type echo-reply -j accept

iptables -a input -i lo -j accept

iptables -a output -o lo -j accept

iptables -a input -i eth0 -p tcp --dport 22 -m state --state new,established -j accept

iptables -a output -o eth0 -p tcp --sport 22 -m state --state established -j accept

本規則和上述規則有所不同,本規則意在允許本機發起ssh連線,上面的規則與此正好相反。

iptables -a output -o eth0 -p tcp --dport 22 -m state --state new,established -j accept

iptables -a input -i eth0 -p tcp --sport 22 -m state --state established -j accept

以下規則僅允許來自192.168.100.0/24的網路:

iptables -a input -i eth0 -p tcp -s

192.168.100.0/24 --dport 22 -m state --state new,established -j accept

iptables -a output -o eth0 -p tcp --sport 22 -m state --state established -j accept

以下規則僅允許從本地主機連線到192.168.100.0/24的網路:

iptables -a output -o eth0 -p tcp -d

192.168.100.0/24 --dport 22 -m state --state new,established -j accept

iptables -a input -i eth0 -p tcp --sport 22 -m state --state established -j accept

# 1.允許http連線:80埠

iptables -a input -i eth0 -p tcp --dport 80 -m state --state new,established -j accept

iptables -a output -o eth0 -p tcp --sport 80 -m state --state established -j accept

# 2.允許https連線:443埠

iptables -a input -i eth0 -p tcp --dport 443 -m state --state new,established -j accept

iptables -a output -o eth0 -p tcp --sport 443 -m state --state established -j accept

iptables -a input -i eth0 -p tcp -s

192.168.100.0/24 --dport 3306 -m state --state new,established -j accept

iptables -a output -o eth0 -p tcp --sport 3306 -m state --state established -j accept

本規則可以允許使用者從本地主機發起https連線,從而訪問internet。

iptables -a output -o eth0 -p tcp --dport 443 -m state --state new,established -j accept

iptables -a input -i eth0 -p tcp --sport 443 -m state --state established -j accept

-m multiport:指定多個埠

通過指定-m multiport選項,可以在一條規則中同時允許ssh、http、https連線:

iptables -a input -i eth0 -p tcp -m multiport --dports 22,80,443 -m state --state new,established -j accept

iptables -a output -o eth0 -p tcp -m multiport --sports 22,80,443 -m state --state established -j accept

iptables -a output -p udp -o eth0 --dport 53 -j accept

iptables -a input -p udp -i eth0 --sport 53 -j accept

iptables -a input -p tcp --dport 80 -m limit --limit 25/minute --limit-burst 100 -j accept
有一些時候 我們需要將iptablesinput鏈寫死,那麼我們可以用iptables -p input drop來全部關掉input鏈路。

但是隨之產生了乙個很嚴重的問題,那麼伺服器本身傳送的資料請求返回的資料同樣被iptables拒之門外,乙個通俗的解釋就是外部資料無法訪問本地服務,本地伺服器也無法正常上網。

解決方法如下:

iptables -a input -m state --state established,related -j accept  

iptables -a output -m state --state established,related -j accept

防止syn攻擊(ddoos攻擊的一種)

iptables -i input -p tcp --syn -m limit --limit 1/s -j accept

iptables -i forward -p tcp --syn -m limit --limit 1/s -j accept

防止各種埠掃瞄

iptables -a forward -p tcp --tcp-flags syn,ack,fin,rst rst -m limit --limit 1/s -j accept

ping洪水攻擊(ping of death)

iptables -a forward -p icmp --icmp-type echo-request -m limit --limit 1/s -j accept

#linux中預防syn_recv**)

攻擊的形式多種多樣,我們這裡只介紹最為常見的syn_recv,遇到攻擊的不要著急,小量的syn_recv很容易防止的

1.對於大量的 syn_recv

若懷疑是syn flood攻擊,有以下建議:

這個攻擊的解決方法如下:

1,增加未完成連線佇列(q0)的最大長度。

echo

1280>/proc/sys/net/ipv4/tcp_max_syn_backlog

2, 啟動syn_cookie。

echo

1>/proc/sys/net/ipv4/tcp_syncookies

這些是被動的方法,治標不治本。而且加大了伺服器的負擔,但是可以避免被拒絕攻擊(只是減緩)

治本的方法是在防火牆上做手腳。但是現在能在一定程度上防住syn flood攻擊的防火牆都不便宜。並且把這個命令加入"/etc/rc.d/rc.local"檔案中

2. iptables的設定,引用自cu

防止同步包洪水(sync flood)

# iptables -a forward -p tcp --syn -m limit --limit 1/s -j accept

也有人寫作

#iptables -a input -p tcp --syn -m limit --limit 1/s -j accept

--limit 1/s 限制syn併發數每秒1次,可以根據自己的需要修改

防止各種埠掃瞄

# iptables -a forward -p tcp --tcp-flags syn,ack,fin,rst rst -m limit --limit 1/s -j accept

ping洪水攻擊(ping of death)

# iptables -a forward -p icmp --icmp-type echo-request -m limit --limit 1/s -j accept

Linux防火牆設定

修改防火牆配置需要修改 etc sysconfig iptables 這個檔案,如果要開放哪個埠,在裡面新增一條 a rh firewall 1 input m state state new m tcp p tcp dport 1521 j accept 就可以了,其中 1521 是要開放的埠號,...

Linux防火牆設定

1 重啟後永久性生效 開啟 chkconfig iptables on 關閉 chkconfig iptables off 2 即時生效,重啟後失效 開啟 service iptables start 關閉 service iptables stop 需要說明的是對於linux下的其它服務都可以用以...

LINUX防火牆設定

在終端中輸入如下命令開啟防火牆 chkconfig iptables on 如閉防火牆則輸入 chkconfig iptables off 上述兩條命令均要重啟系統才能生效。如果不想通過重啟系統而即時生效的話,可以用 service 命令。缺點是重啟系統後設定會丟失。開啟了防火牆 service i...