『壹』 linux伺服器如何手去關閉不必要的服務和埠
Linux系統和Windows系統有很大的不同,不僅僅是它本身的操作界面和操作方式,系統的運行機制也不一樣。因此我們在使用Linux系統的時候可以使用netstat命令來進行埠命令的查詢。它和各個參數相互配合就能夠幫助我們查詢到Linux系統計算機的很多埠狀態。比如,如果我們要在Linux系統中查看Mysql的默認埠3306是否已經被計算機啟動了,那麼就可以使用命令「netstat -ntlp」進行查詢。
您還有什麼不知道的請詢問我們的運維客服:互聯數據如果能幫到你不勝榮幸,如果打擾您了請多見諒。
『貳』 求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 不接收
『叄』 linux系統中怎麼禁用埠
還有通過 ssh 進行 X 登錄)。
就算你開了 SSH 服務,也不能登陸。
-----------
VPS 中就是影響 VPS 裡面系統的 SSH 。
你遠程連接 VPS 虛擬機的控制環境不受影響,這部分防火牆控制是宿主機的限制。
-> ->
注意這個順序,下級是不能被上級控制的。
【】 裡面的你可以認為是一個整體。
另外,虛機團上產品團購,超級便宜
『肆』 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下關閉一個正在監聽的埠
1.使用netstat -anput|grep 埠號
2、ps -ef|grep 根據過濾的程序名
找到該進程編號使用kill命令結束進程
3、kill -9 5918
『陸』 linux centos 怎麼關閉指定埠
查看Centos埠命令: # netstat -lntp #查看監聽(Listen)的埠
# netstat -antp #查看所有建立的TCP連接
其他關於查看伺服器網路信息命令:
1、查看Linux系統主機名: Linux學習,http:// linux.it.net.cn
# hostname
localhost.localdomain
2、查看伺服器IP地址:
# ifconfig|grep 'inet addr:'|grep -v '127.0.0.1'|cut -d: -f2|awk '{ print $1}'
192.168.17.238
192.168.1.9
3、查看linux網關:
# route |grep default
default 192.168.1.1 0.0.0.0 UG 0 0 0 em1
4、查看linux打開服務:
# chkconfig --list|grep 啟用 #查看開啟的服務
sshd 0:關閉 1:關閉 2:啟用 3:啟用 4:啟用 5:啟用 6:關閉
httpd 0:關閉 1:關閉 2:關閉 3:啟用 4:關閉 5:關閉 6:關閉
5、查看伺服器DNS配置:
# cat /etc/resolv.conf
nameserver 192.168.0.66
nameserver 202.106.0.20
6、其他網路信息:
# iptables -L #查看防火牆規則
# route -n #查看路由表
# netstat -s #查看網路統計信息
『柒』 我想關閉LINUX系統上的某個埠,請問相關命令是什麼詳細一點的,謝謝。
前提:首先你必須知道,埠不是獨立存在的,它是依附於進程的。某個進程開啟,那麼它對應的埠就開啟了,進程關閉,則該埠也就關閉了。下次若某個進程再次開啟,則相應的埠也再次開啟。而不要純粹的理解為關閉掉某個埠,不過可以禁用某個埠。
1. 可以通過"~$ netstat -anp" 來查看哪些埠被打開。
(註:加參數'-n'會將應用程序轉為埠顯示,即數字格式的地址,如:nfs->2049, ftp->21,因此可以開啟兩個終端,一一對應一下程序所對應的埠號)
2. 然後可以通過"~$ lsof -i:$PORT"查看應用該埠的程序($PORT指對應的埠號)。或者你也可以查看文件/etc/services,從裡面可以找出埠所對應的服務。
(註:有些埠通過netstat查不出來,更可靠的方法是"~$ sudo nmap -sT -O localhost")
3. 若要關閉某個埠,則可以:
1)通過iptables工具將該埠禁掉,如:
"~$ sudo iptables -A INPUT -p tcp --dport $PORT -j DROP"
"~$ sudo iptables -A OUTPUT -p tcp --dport $PORT -j DROP"
2)或者關掉對應的應用程序,則埠就自然關閉了,如:
"~$ kill -9 PID" (PID:進程號)
如: 通過"~$ netstat -anp | grep ssh"
有顯示: tcp 0 127.0.0.1:2121 0.0.0.0:* LISTEN 7546/ssh
則: "~$ kill -9 7546"
(可通過"~$ chkconfig"查看系統服務的開啟狀態)
本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/yjier/archive/2011/05/25/6444198.aspx
『捌』 linux底下如何通過命令行關閉一個網路埠
可以用iptables攔截
----------------------------
>iptables -F INPUT
>iptables -P INPUT ACCEPT
>iptables -F OUTPUT
>iptables -P OUTPUT ACCEPT
『玖』 如何關閉linux下進程佔用的埠號
1 netstat -nlp 查看佔用埠號的服務
2 找到該埠號的進程
3 找到該進程id
4 kill它
程序可以一點一點來:
1 查看佔用埠號的服務
[root@aslibra root]# netstat -nlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 23946/
tcp 0 0 0.0.0.0:3307 0.0.0.0:* LISTEN 12711/
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 3936/httpd
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 3910/
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 3753/sshd
tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 3786/
Active UNIX domain sockets (only servers)
Proto RefCnt Flags Type State I-Node PID/Program name Path
unix 2 [ ACC ] STREAM LISTENING 827412 23946/ /tmp/mysql.sock
unix 2 [ ACC ] STREAM LISTENING 733272 12711/ ./mysql.sock
(省掉了一些內容)
2 可以用grep篩選一下,看看規律,找到有 :3306 的一行就好
用管道符給grep處理:
[root@aslibra root]# netstat -nlp | grep :3306
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 23946/
既然取出一行了,那就容易了,再篩選一下,用awk分割取出其中一個
3 讀取出埠號
[root@aslibra root]# netstat -nlp | grep :3306 | awk '{print $7}'
23946/
意思是取第七個欄位,這里默認應該是用tab字元分割的,已經讀取出來了,但是還得拿到/前面的數字
4 取/前面的數字就可以了,這里還是可以用awk處理
[root@aslibra root]# netstat -nlp | grep :3306 | awk '{print $7}' | awk -F"/" '{ print $1 }'
23946
意思是用/符號分割,取第一部分
5 然後把這個數字傳給kill就可以
kill命令不能跟在管道符後面繼續處理了,會出錯的
[root@aslibra root]# netstat -nlp | grep :3306 | awk '{print $7}' | awk -F"/" '{ print $1 }' | kill
kill: usage: kill [-s sigspec | -n signum | -sigspec] [pid | job]... or kill -l [sigspec]
需要用到"[']"操作符,它可以執行一個語句,這個可以如此執行:
kill [']netstat -nlp | grep :3306 | awk '{print $7}' | awk -F"/" '{ print $1 }'[']