linux iptable配置
首先如果是使用的云服務(wù)器,比如阿里云或者是騰訊云的。先去控制臺(tái)將對(duì)應(yīng)的接口放行,我這邊配置的是放行所有端口用于測(cè)試,如果是生產(chǎn)環(huán)境可以根據(jù)需要放行。
通過本操作,請(qǐng)確認(rèn)您能使用Linux本機(jī)。如果您使用的是ssh遠(yuǎn)程,而又不能直接操作本機(jī),那么先加上下面的代碼。當(dāng)然最壞的結(jié)果是所有的端口都不能訪問,甚至無法登陸ssh,但5分鐘之后,定時(shí)器會(huì)幫你關(guān)掉iptables防火墻。
[root@localhost ~]# crontab -uroot -e ?
?
*/5 * * * * /etc/init.d/iptables stop ?##定時(shí)5分鐘關(guān)閉防火墻,防止設(shè)置錯(cuò)誤,導(dǎo)致無法進(jìn)行ssh登陸
首先講介紹幾個(gè)簡(jiǎn)單命令:
/etc/init.d/iptables save ?##保存防火墻規(guī)則,如果不進(jìn)行保存的話 重啟iptables之后規(guī)則將消失
?
iptables -L -n ? ? ? ? ? ?##查看當(dāng)前防火墻規(guī)則
PS:在添加規(guī)則之前先用iptables -L -n查看一下當(dāng)前規(guī)則,如果顯示沒有規(guī)則,可能是你的iptables沒有開啟。如果這個(gè)時(shí)候添加規(guī)則,保存之后將覆蓋之前的規(guī)則。如果要繼續(xù)使用之前的規(guī)則,先開啟iptables服務(wù),這時(shí)候就能看到之前的規(guī)則,然后再在之前的基礎(chǔ)上添加。
我們先添加兩條規(guī)則
iptables -A INPUT -p tcp --dport 22 -j ACCEPT ? ? ?##添加一個(gè)開放端口22的輸入流的規(guī)則
?
iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT ? ?##添加一個(gè)開放端口22的輸出流的規(guī)則
?
添加以上兩條規(guī)則之后,就不用擔(dān)心登陸不了SSH了,想了解命令詳情使用iptables --help
這里重點(diǎn)講一下iptables 里面的 dport 和 sport的區(qū)別:
dport:目的端口
sport:來源端口
通過兩個(gè)INPUT的例子,大家區(qū)分下INPUT里面的dport 和sport
例子1:
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
?
這條INPUT規(guī)則可以這么描述:
? ? ? ? 1.這是一條從外部進(jìn)入內(nèi)部本地服務(wù)器的數(shù)據(jù)。
? ? ? ? 2.數(shù)據(jù)包的目的(dport)地址是22,就是要訪問我本地的22端口。
? ? ? ? 3.允許以上的數(shù)據(jù)行為通過。
例子2:
1
?
iptables -A INPUT -p tcp --sport 22 -j ACCEPT
?
這條INPUT規(guī)則可以這么描述: ? ? ??
? ? ? ? 1.這是一條從外部進(jìn)入內(nèi)部本地服務(wù)器的數(shù)據(jù)。
? ? ? ? 2.數(shù)據(jù)包的來源端口是(sport)22,就是對(duì)方的數(shù)據(jù)包是22端口發(fā)送過來的。
? ? ? ? 3.允許以上數(shù)據(jù)行為。
通過兩個(gè)OUTPUT的例子,大家區(qū)分下OUTPUT里面的dport 和sport
例子1:
iptables -A OUTPUT -p tcp --dport 22 -j ACCEPT
?
這條OUTPUT規(guī)則可以這么描述: ? ? ??
? ? ? ? 1.這是一條從內(nèi)部出去的數(shù)據(jù)。
? ? ? ? 2.出去的目的(dport)端口是22。
? ? ? ? 3.允許以上數(shù)據(jù)行為。
例子2:
iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT
這條OUTPUT規(guī)則可以這么描述: ??
? ? ? ? 1.這是一條從內(nèi)部出去的數(shù)據(jù)。
? ? ? ? 2.數(shù)據(jù)包的來源端口是(sport)22,從本服務(wù)器的22端口發(fā)出數(shù)據(jù)。
? ? ? ? 3.允許以上數(shù)據(jù)行為。
默認(rèn)INPUT、OUTPUT、FORWARD都是ACCEPT的
不添加規(guī)則,則對(duì)所有端口的數(shù)據(jù)來者不拒~
iptables -P INPUT DROP ?#如果沒有添加端口22的accept規(guī)則,切勿運(yùn)行此命令
如果運(yùn)行上述命令的話,則是除了添加的規(guī)則之外的INPUT數(shù)據(jù)包都DROP掉。。。
同理還有這些命令:
iptables -P OUTPUT ?DROP
iptables -P FORWARD DROP
一般把INPUT設(shè)置為DROP。那么我們需要添加一些規(guī)則針對(duì)INPUT的ACCEPT的規(guī)則:
iptables -A INPUT -p tcp --dport 22 -j ACCEPT ?#開放ssh端口
iptables -A INPUT -p tcp --dport 80 -j ACCEPT ?#開放web服務(wù)端口
iptables -A INPUT -p tcp --dport 21 -j ACCEPT ?#開放ftp服務(wù)端口
?
iptables -A INPUT -p icmp -j ACCEPT ? ? ?#允許icmp包通過,也就是允許ping
iptables -A INPUT -i lo -p all -j ACCEPT ?#允許loopback
?
#####如果你還做了其他的服務(wù)器,需要開啟哪個(gè)端口,照寫就行了.
?一般把OUTPUT設(shè)置為ACCEPT。那么我們需要添加一些規(guī)則針對(duì)OUTPUT的DROP規(guī)則:
關(guān)閉一些端口
iptables -A OUTPUT -p tcp --sport 27444 -j DROP ?
iptables -A OUTPUT -p tcp --sport 27665 -j DROP
iptables -A OUTPUT -p tcp --sport 31337 -j DROP
總結(jié)
以上是生活随笔為你收集整理的linux iptable配置的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 程序员进阶架构师、技术总监、CTO,需要
- 下一篇: xp计算机无法关机,WinXP电脑无法关