① linux 用iptables 如何禁止本機某一個網卡去訪問別人的80服務
iptables -t filter -A OUTPUT -s網卡IP -d0.0.0.0/0 -p tcp --dport 80 -j DROP
② LInux iptables 屏蔽設置
1.修改SSH配置文件:/etc/ssh/sshd_config #找到Port 22,這里是標識默認使用22埠,修改為:
Port 22
Port 1234
/etc/init.d/sshd restart
#這樣SSH埠將同時工作在22、1234上
查看防火牆規則
1、iptables -nvL
2、more /etc/sysconfig/iptables
2.添加防火牆規則
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 1234 -j ACCEPT
/etc/rc.d/init.d/iptables save
/etc/rc.d/init.d/iptables restart
然後使用SSH工具 測試 你所設置的埠是否能正常使用
如果能正常使用返回到第一步,刪除原來的22埠,以及修改防火牆配置文件
之所以先設置成兩個埠,測試成功後再關閉一個埠,是為了方式在修改的過程中,萬一出現掉線、斷網、誤操作等未知情況時候,還能通過另外一個埠連接上去調試以免發生連接不上的狀況。
開啟自動啟動:chkconfig iptables on
開啟不自動啟動:chkconfig iptables off
附錄:
設定預設規則,INPUT鏈默認拒絕,OUTPUT鏈默認接受,FORWARD鏈默認拒絕
iptables -F #清除預設表filter中的所有規則鏈的規則
iptables -X #清除預設表filter中使用者自定鏈中的規則
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP
iptables -L -n --line #按行數顯示防火牆規則
iptables -D INPUT 1 #刪除INPUT表第一條
iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT #來源、目的為127.0.0.1都接受,這條放最後就可以了
1、安裝iptables防火牆
如果沒有安裝iptables需要先安裝,CentOS執行:
yum install iptables
Debian/Ubuntu執行:
apt-get install iptables
2、清除已有iptables規則
iptables -F
iptables -X
iptables -Z
3、開放指定的埠
#允許本地回環介面(即運行本機訪問本機)
iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
# 允許已建立的或相關連的通行
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
#允許所有本機向外的訪問
iptables -A OUTPUT -j ACCEPT
# 允許訪問22埠
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
#允許訪問80埠
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
#允許FTP服務的21和20埠
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -A INPUT -p tcp --dport 20 -j ACCEPT
#如果有其他埠的話,規則也類似,稍微修改上述語句就行
#禁止其他未允許的規則訪問
iptables -A INPUT -j REJECT (注意:如果22埠未加入允許規則,SSH鏈接會直接斷開。)
iptables -A FORWARD -j REJECT
4、屏蔽IP
#如果只是想屏蔽IP的話「3、開放指定的埠」可以直接跳過。
#屏蔽單個IP的命令是
iptables -I INPUT -s 123.45.6.7 -j DROP
#封整個段即從123.0.0.1到123.255.255.254的命令
iptables -I INPUT -s 123.0.0.0/8 -j DROP
#封IP段即從123.45.0.1到123.45.255.254的命令
iptables -I INPUT -s 124.45.0.0/16 -j DROP
#封IP段即從123.45.6.1到123.45.6.254的命令是
iptables -I INPUT -s 123.45.6.0/24 -j DROP
5、查看已添加的iptables規則
iptables -L -n
v:顯示詳細信息,包括每條規則的匹配包數量和匹配位元組數
x:在 v 的基礎上,禁止自動單位換算(K、M) vps偵探
n:只顯示IP地址和埠號,不將ip解析為域名
6、刪除已添加的iptables規則
將所有iptables以序號標記顯示,執行:
iptables -L -n --line-numbers
比如要刪除INPUT里序號為8的規則,執行:
iptables -D INPUT 8
7、iptables的開機啟動及規則保存
CentOS上可能會存在安裝好iptables後,iptables並不開機自啟動,可以執行一下:
chkconfig --level 345 iptables on
開啟自動啟動:chkconfig iptables on
開啟不自動啟動:chkconfig iptables off
將其加入開機啟動。
CentOS上可以執行:
service iptables save
/etc/rc.d/init.d/iptables save
/etc/rc.d/init.d/iptables restart
保存規則。
另外更需要注意的是Debian/Ubuntu上iptables是不會保存規則的。
需要按如下步驟進行,讓網卡關閉是保存iptables規則,啟動時載入iptables規則:
創建/etc/network/if-post-down.d/iptables 文件,添加如下內容:
#!/bin/bash
iptables-save > /etc/iptables.rules
執行:chmod +x /etc/network/if-post-down.d/iptables 添加執行許可權。
創建/etc/network/if-pre-up.d/iptables 文件,添加如下內容:
#!/bin/bash
iptables-restore < /etc/iptables.rules
執行:chmod +x /etc/network/if-pre-up.d/iptables 添加執行許可權。
關於更多的iptables的使用方法可以執行:iptables --help或網上搜索一下iptables參數的說明。
註:每次服務在停止之前會自動將現有的規則保存
在 /etc/sysconfig/iptables 這個文件中去.
③ 利用iptables ,如何關閉3006埠的服務,或限制外部IP訪問3006埠,ssh命令是什麼呢
限制訪問本機的3006埠的服務的iptables規則:
iptables -A INPUT -p tcp --dport 3006 -j DROP
iptables -A INPUT -p udp --dport 3006 -j DROP
ssh服務對應的22埠
通過命令
ps -aux | grep ssh
可以看到提供ssh服務的進程。
如果你想使用ssh訪問192.168.1.1伺服器,就用命令
ssh 192.168.1.1就可以了,然後輸入用戶名和密碼,就可以登錄到192.168.1.1的shell命令行了。
④ linux的iptables如何禁止不同網段訪問埠
禁止同網段的單個IP你知道怎麼操作的話,禁止不同網段也很簡單了,只需要把單個IP換成以子網掩碼格式表示的網段地址即可。
比如你給出的網段地址172.16.101.0這個網段,你只禁用172.16.101.50-172.16.101.254這個地址段,前面的一段不禁用,那麼就需要計算對應的子網掩碼值,前面不禁用的共49個地址,2的5次方是32,2的6次方是64。那麼掩碼值就是29或者30,對應不到49個ip地址。因此你可以這樣配置:
禁用172.168.101.0/29 地址段,放行了172.168.101.1-172.168.101.31,還需要單獨放行172.168.101.32-172.168.101.49,你就需要單獨每個ip來進行放行了。後面的整段IP禁用就比較簡單了,直接禁用
172.168.102.0/24
172.168.103.0/24
我這里只是提供一個思路,如果你覺得比較麻煩,那麼還可以自己計算172.168.101.0-172.168.202.0這個網段的子網掩碼,我計算了以下,大概是
172.168.101.0/23,但是中間還有若干個網段需要單獨設置,具體的操作就要你自己來做了。
⑤ iptables實現禁用埠
iptables實現禁用埠!
這里用iptables屏蔽埠25,防止被利用發垃圾郵件導致VPS被封
用iptables屏蔽全部IP連接25埠:
上面這一條命令就夠了
=======
如果需要特殊情況請看下面的命令
只允許特定ip連接25埠:
重新禁止此ip連接25埠,刪除上述許可記錄就可以了:
需要禁止特定ip連接25埠:
⑥ Linux下如何用iptables限制某段IP訪問伺服器
比如禁止192.168.0.x網段訪問伺服器iptables -A input -p tcp -s 192.168.0.0/24 -j DROP如果是允許訪問iptables -A input -p tcp -s 192.168.0.0/24 -j ACCEPT如果是禁止訪問伺服器某一埠號iptables -A input -p tcp -s 192.168.0.0/24 --dport (埠號) -DROP 差不多就是這樣了,如果還要學習的話就要看書了。發給你個Iptables命令基礎參考資料http://wenku..com/view/4c5eb5d528ea81c758f578df.html
⑦ 求5條iptables命令關閉所有埠(除80埠外),封鎖整個linux
1、關閉所有的 INPUT FORWARD OUTPUT 只對某些埠開放。
下面是命令實現:
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP
再用命令 iptables -L -n 查看 是否設置好, 好看到全部 DROP 了
這樣的設置好了,我們只是臨時的, 重啟伺服器還是會恢復原來沒有設置的狀態
還要使用 service iptables save 進行保存
看到信息 firewall rules 防火牆的規則 其實就是保存在 /etc/sysconfig/iptables
可以打開文件查看 vi /etc/sysconfig/iptables
2、下面我只打開22埠,看我是如何操作的,就是下面2個語句
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT
再查看下 iptables -L -n 是否添加上去, 看到添加了
Chain INPUT (policy DROP)
target prot opt source destination
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:22
Chain FORWARD (policy DROP)
target prot opt source destination
Chain OUTPUT (policy DROP)
target prot opt source destination
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:22
現在Linux伺服器只打開了22埠,用putty.exe測試一下是否可以鏈接上去。
可以鏈接上去了,說明沒有問題。
最後別忘記了保存 對防火牆的設置
通過命令:service iptables save 進行保存
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT
針對這2條命令進行一些講解吧
-A 參數就看成是添加一條 INPUT 的規則
-p 指定是什麼協議 我們常用的tcp 協議,當然也有udp 例如53埠的DNS
到時我們要配置DNS用到53埠 大家就會發現使用udp協議的
而 --dport 就是目標埠 當數據從外部進入伺服器為目標埠
反之 數據從伺服器出去 則為數據源埠 使用 --sport
-j 就是指定是 ACCEPT 接收 或者 DROP 不接收
⑧ ubuntu 使用iptables 如何禁止任何和埠5353的訪問
iptables -A INPUT -S port:5353 deny 就是禁止任意IP的源口為5353的包入站
或者
iptables -A OUTPUT -d port:5353 deny 禁止任意IP的目的口為5353的包出站
可以設置行為禁止做丟棄包,這是對你本機,轉發的要另寫
⑨ linux下如何屏蔽埠
埠是linux下應用軟體因需要而開啟的socket套接字,具有唯一性。埠可以查看、啟動關閉、設置防火牆規則等。
1、埠查看
netstat -tln //表示已數字形式查看,正在監聽的埠
netstat -ap //查看所有應用佔用埠情況
2、啟動停止
埠自己是不會停止和啟動的,需要停止和啟動的是埠對應的應用。
可以先找到埠,再對應PID,命令如下:
netstat -anp|grep 57069 //這個是要找的埠號
lsof -i:57069 //查找器PID信息
第三部殺死進程:圖例裡面沒有在這里寫上,kill -9 PID
3、屏蔽
linux下一般使用防火牆的filter規則 定義允許或者不允許進行屏蔽。對於filter一般只能做在3個鏈上:INPUT ,FORWARD ,OUTPUT。
例如設置在輸入端屏蔽53埠:
iptables-AINPUT1-d172.16.100.1-pudp--dport53-jREJECT
-A是增加規則,-d:表示匹配目標地址,-pudp表示UPD協議,--dPort 是埠53
這里表示在輸入端目的地址是172.16.100.1的53埠被屏蔽
⑩ linux運維之iptables的一些操作(參考大神的)
1.安裝iptables管理命令
2.載入防火牆的內核模塊
3.查看已載入的模塊
4.啟動防火牆
首先停止firewalld
開啟iptables
1.查看防火牆規則
2.清除防火牆規則
3.添加防火牆規則
4.網路連接狀態
5.刪除某個規則
1.禁止某個埠訪問
2.規則解釋:
3.禁止除跳板機以外的IP訪問
4.匹配埠范圍
5. 匹配ICMP類型
6.一些操作
1、封掉10.0.0.7
2、讓10.0.0.7和SSH客戶端(10.0.0.1)伺服器可以Ping,其它的不能Ping
3、封掉3306埠
1.從上往下依次匹配
2.一但匹配上,就不在往下匹配了
3.默認規則,默認的情況,默認規則是放行所有
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
iptables A INPUT -p tcp -m state --dport 22 -j DROP
禁止一個數據包:
tcp協議
訪問的埠是22
禁止源地址是10.0.0.7的主機訪問22埠
禁止源地址是10.0.0.7的主機訪問任何埠
禁止源地址是10.0.0.8的主機訪問80埠
禁止除了10.0.0.7以外的地址訪問80埠
2條規則沖突,會以誰先誰為准
禁止10.0.0.7訪問22和80埠
禁止10.0.0.7訪問22到100之間的所有埠
禁止所有主機ping
放行10.0.0.7可以ping
只允許10.0.0.7可以ping
等同於上一條,優化版,只要不是10.0.0.7就不允許ping
優先順序:
匹配頻次最高的條件放前面