linux埠關閉
『壹』 linux 22 埠老自動關閉
chkconfig iptables off
service iptable stop
『貳』 linux鍏抽棴絝鍙f庝箞鍏抽棴
鍦↙inux涓錛岀鍙f槸涓縐嶆暟瀛楁爣璇嗙︼紝鐢ㄤ簬鍖哄垎涓嶅悓鐨勭綉緇滃簲鐢ㄧ▼搴忓拰鏈嶅姟銆傜鍙e彿鏄涓涓16浣嶇殑鏁板瓧錛屽彲浠ユ槸0-65535涔嬮棿鐨勪換浣曚竴涓鏁板瓧銆傚叾涓錛0-1023鐨勭鍙e彿涓虹郴緇熶繚鐣欑鍙o紝鍙鑳借緋葷粺鎴栫壒鏉冪敤鎴蜂嬌鐢錛1024-49151鐨勭鍙e彿涓烘敞鍐岀鍙o紝鐢ㄤ簬涓浜涘父瑙佺殑搴旂敤紼嬪簭錛49152-65535鐨勭鍙e彿涓哄姩鎬佹垨縐佹湁絝鍙o紝閫氬父鐢ㄤ簬瀹㈡埛絝涓存椂鍒嗛厤絝鍙c
鍦↙inux緋葷粺涓錛屾瘡涓姝e湪榪愯岀殑緗戠粶搴旂敤紼嬪簭鎴栨湇鍔¢兘鏈変竴涓瀵瑰簲鐨勭鍙e彿銆備緥濡傦紝Web鏈嶅姟鍣ㄩ氬父浣跨敤TCP絝鍙80鎴443錛孲SH鏈嶅姟鍣ㄤ嬌鐢═CP絝鍙22錛孲MTP鏈嶅姟鍣ㄤ嬌鐢═CP絝鍙25絳夌瓑銆傞氳繃鎸囧畾鐗瑰畾鐨勭鍙e彿錛岀敤鎴峰彲浠ヨ塊棶鎴栬繛鎺ュ埌鐩稿簲鐨勭綉緇滃簲鐢ㄧ▼搴忔垨鏈嶅姟銆傚湪Linux緋葷粺涓錛屽叧闂絝鍙e彲浠ヤ嬌鐢ㄤ互涓嬩袱縐嶆柟娉曘
涓銆佷嬌鐢ㄩ槻鐏澧欏叧闂絝鍙o紝鍙浠ヤ嬌鐢╥ptables鎴杅irewalld絳夐槻鐏澧欏伐鍏鋒潵鍏抽棴鐗瑰畾鐨勭鍙o紝浠ヤ笅鏄涓浜涘父瑙佺殑鍛戒護銆
1銆佷嬌鐢╥ptables鍏抽棴TCP絝鍙80錛歴udo iptables -A INPUT -p tcp dport 80 -j DROP
2銆佷嬌鐢╢irewalld鍏抽棴TCP絝鍙80錛歴udo firewall-cmd zone=public remove-port=80/tcp
浜屻佸仠姝㈢浉搴旂殑緗戠粶搴旂敤紼嬪簭鎴栨湇鍔★紝濡傛灉甯屾湜鍏抽棴鏌愪釜絝鍙g殑緗戠粶鏈嶅姟鎴栧簲鐢ㄧ▼搴忥紝鍙浠ュ仠姝㈢浉搴旂殑榪涚▼錛屼互涓嬫槸涓浜涘父瑙佺殑鍛戒護銆
1銆佸叧闂璚eb鏈嶅姟鍣錛圓pache錛夛細sudo systemctl stop apache2
2銆佸叧闂璖SH鏈嶅姟鍣錛歴udo systemctl stop sshd
3銆佸叧闂璖MTP鏈嶅姟鍣錛圥ostfix錛夛細sudo systemctl stop postfix
鍏抽棴絝鍙e彲鑳戒細褰卞搷緋葷粺鐨勬e父榪愯屾垨鐗瑰畾搴旂敤紼嬪簭鐨勫姛鑳斤紝鍥犳ゅ簲璇ユ厧閲嶈冭檻銆傚緩璁鍦ㄥ叧闂絝鍙d箣鍓嶅囦喚鐩稿叧鏁版嵁錛屽苟紜淇濅笉浼氬獎鍝嶅叾浠栫敤鎴鋒垨緋葷粺榪涚▼鐨勬e父浣跨敤銆傛ゅ栵紝鍏抽棴鏌愪簺絝鍙e彲鑳戒細瀵圭郴緇熺殑瀹夊叏鎬ч犳垚褰卞搷錛屽洜姝ゅ簲璇ュ湪蹇呰佹椂閲囧彇鍏朵粬瀹夊叏鎺鏂斤紝渚嬪傝劇疆闃茬伀澧欒勫垯銆佹洿鏂拌蔣浠剁瓑銆
『叄』 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"查看系統服務的開啟狀態)