วิธีเปิดพอร์ตใน Linux

วิธีเปิดพอร์ตใน Linux

ต้องการเชื่อมต่อกับพีซีหรือเซิร์ฟเวอร์ภายนอก หรือต้องการพีซีหรือเซิร์ฟเวอร์อื่นเพื่อเชื่อมต่อกับคุณ หากคุณใช้ Linux คุณจะต้องตรวจสอบให้แน่ใจว่าพอร์ตที่ถูกต้องเปิดอยู่

แม้ว่าระบบปฏิบัติการอื่น ๆ มักจะมีเครื่องมือกราฟิกสำหรับสิ่งนี้ แต่ Linux นั้นไม่ง่ายนัก เราจะแนะนำวิธีการเปิดพอร์ตใน Linux ให้คุณด้านล่าง

พอร์ตคืออะไรและทำไมฉันต้องเปิด

พอร์ตเป็นจุดสิ้นสุดบนเครือข่าย คิดว่ามันเหมือนกับประตูที่นำไปสู่ห้องใดห้องหนึ่งหรือโลกภายนอก แต่บนคอมพิวเตอร์ของคุณ ทุกสิ่งที่คุณทำบนอินเทอร์เน็ตจะใช้พอร์ตหรือชุดพอร์ตเฉพาะ

ตัวอย่างเช่น สมมติว่าคุณต้องการเรียกใช้เซิร์ฟเวอร์ Minecraft ของคุณเอง คุณต้องเปิดพอร์ตเพื่อให้ผู้ใช้เชื่อมต่อผ่านได้ เช่นเดียวกับการเรียกใช้เว็บ อีเมล หรือเซิร์ฟเวอร์ FTP ของคุณเอง

พอร์ตเป็น มาตรฐานใน อุปกรณ์ที่เชื่อมต่อเครือข่ายทั้งหมด 1,024 พอร์ตแรก (ตั้งแต่ 0 ถึง 1023) เรียกว่าหมายเลขพอร์ตที่รู้จักกันดี สงวนไว้สำหรับบริการที่ใช้บ่อยที่สุด เช่น HTTP และ HTTP (พอร์ต 80 และ 443 ตามลำดับ) และ SSH (พอร์ต 22)

หมายเลขพอร์ตที่สูงกว่า 1024 จะเรียกว่าพอร์ตชั่วคราวและโดยทั่วไปจะพร้อมให้คุณใช้สำหรับการเล่นเกมออนไลน์ เว็บเซิร์ฟเวอร์ส่วนตัว และอื่นๆ หมายเลขพอร์ต 1024 ถึง 49151 เรียกว่า พอร์ตที่ ลงทะเบียนหรือพอร์ตผู้ใช้ขณะที่หมายเลขพอร์ตจาก 49152 ถึง 65535 เรียกว่า พอร์ต แบบไดนามิกหรือพอร์ตส่วนตัว

แสดงรายการ Open Ports บน Linux

ก่อนที่คุณจะเริ่มพยายามเปิดพอร์ตบน Linux คุณควรตรวจสอบให้แน่ใจว่าไม่ได้ใช้งานพอร์ตนั้นอยู่แล้ว คุณสามารถทำได้โดยใช้ คำสั่ง netstatซึ่งรวมอยู่ในลีนุกซ์ส่วนใหญ่ หากการแจกจ่ายของคุณไม่มีnetstatคุณสามารถใช้ssแทนได้

netstat -lntu

วิธีเปิดพอร์ตใน Linux

สิ่งนี้จะพิมพ์ซ็อกเก็ตการฟังทั้งหมด ( -l ) พร้อมกับหมายเลขพอร์ต ( -n ) ประกอบด้วยพอร์ต TCP ( -t ) เช่นเดียวกับ UDP ( -u ) หากระบบของคุณไม่มีnetstatเพียงใช้ssด้วยพารามิเตอร์เดียวกัน

ss -lntu

วิธีเปิดพอร์ตใน Linux

วิธีเปิดพอร์ตใน Linux

สำหรับตัวอย่างนี้ เราจะถือว่าเราต้องการเปิดพอร์ต 4000 ถึงการเชื่อมต่อ TCP ก่อนอื่นเราต้องตรวจสอบให้แน่ใจว่าพอร์ตนั้นไม่ได้ใช้งานอยู่ เราทำสิ่ง นี้ผ่านnetstatหรือss

netstat -na | grep :4000 ss -na | grep :4000

สมมติว่าเอาต์พุตว่างเปล่า เราสามารถเพิ่มกฎพอร์ตที่เหมาะสมกับไฟร์วอลล์ของระบบได้ วิธีการนี้จะแตกต่างกันไปขึ้นอยู่กับการแจกจ่ายของคุณและไม่ว่าจะใช้ ไฟร์วอลล์ ufwหรือfirewalld ที่ใหม่กว่าหรือ ไม่ Ubuntu ชอบ ufwในขณะที่CentOS มักใช้ firewalldแทน แน่นอนว่ายังมีลีนุกซ์รุ่นอื่นที่ใช้ไฟร์วอลล์iptables รุ่นเก่าอยู่

สำหรับผู้ใช้ Ubuntu และระบบอื่น ๆ ที่ใช้ไฟร์วอลล์ ufw

แทนที่จะใช้ ไฟร์วอลล์ iptables รุ่นเก่า Ubuntu และการแจกแจงอื่น ๆ บางส่วนใช้ufw ภายใต้ระบบเหล่านี้ คำสั่งต่อไปนี้จะเปิดพอร์ต

sudo ufw allow 4000

ข้ามขั้นตอนถัดไปและทดสอบพอร์ตที่เพิ่งเปิดใหม่เพื่อให้แน่ใจว่าใช้งานได้

วิธีเปิดพอร์ตใน Linux โดยใช้ CentOS และระบบที่ใช้ไฟร์วอลล์อื่น ๆ

หากระบบของคุณใช้firewalld วิธี ที่ดีที่สุดคือใช้ คำสั่ง firewall-cmdเพื่ออัปเดตกฎ

sudo firewall-cmd --add-port=4000/tcp

นี่ไม่ใช่การเปลี่ยนแปลงถาวร แต่เราจะพูดถึงวิธีทำให้กฎคงอยู่หลังจากรีบูตเมื่อเราทดสอบพอร์ต

สำหรับลินุกซ์รุ่นอื่นๆ

หากระบบ Linux ของคุณไม่มีufwหรือfirewalldคุณจะต้องใช้iptables หากยังไม่ได้ติดตั้ง ให้ดำเนินการต่อโดยใช้ตัวจัดการแพ็คเกจที่คุณเลือก เมื่อติดตั้งแล้ว คำสั่งนี้จะเปิดพอร์ต 4000:

sudo iptables -A INPUT -p tcp --dport 4000 -j ACCEPT sudo service iptables restart

หากระบบของคุณใช้systemctlให้แทนที่คำสั่งที่สองด้วย:

sudo systemctl restart iptables

การทดสอบพอร์ตที่เพิ่งเปิดใหม่สำหรับการเชื่อมต่อ

ต่อไป เราควรทดสอบพอร์ตเพื่อให้แน่ใจว่ายอมรับการเชื่อมต่อ เราทำสิ่งนี้โดยใช้ netcat ( nc ) เพื่อฟังพอร์ต จากนั้นพยายามใช้ telnet

ขั้นแรก เปิดหน้าต่างเทอร์มินัลแล้วออกคำสั่งนี้:

sudo ls | nc -l -p 4000

ปล่อยให้มันทำงาน (ฟัง) และเปิดหน้าต่างเทอร์มินัลที่สอง ในหน้าต่างนั้น คุณจะใช้ telnet เพื่อทดสอบการเชื่อมต่อ หากไม่ได้ติดตั้ง telnet ให้ดำเนินการโดยใช้ตัวจัดการแพ็คเกจ

telnet [hostname/IP address] [port number]

แทนที่[ชื่อโฮสต์/ที่อยู่ IP]ด้วยที่อยู่ IP ของระบบ และ[หมายเลขพอร์ต]ด้วยหมายเลขพอร์ตที่คุณเปิด

telnet localhost 4000

คุณควรเห็นผลลัพธ์ด้านล่าง แสดงว่ามีการเชื่อมต่อแบบเปิดด้วยnc

วิธีเปิดพอร์ตใน Linux

นอกจากนี้เรายังสามารถแสดงว่าพอร์ตเปิดอยู่โดยใช้nmap อีกครั้ง หากยังไม่ได้ติดตั้งคำสั่ง ให้ใช้ตัวจัดการแพ็คเกจเพื่อเรียกข้อมูล

nmap localhost -p 4000

วิธีเปิดพอร์ตใน Linux

โปรดทราบว่าnmapจะแสดงรายการพอร์ตที่เปิดอยู่ซึ่งกำลังรับฟังการเชื่อมต่ออยู่เท่านั้น นั่นเป็นเหตุผลที่เราใช้ netcat เพื่อทดสอบเพื่อฟังพอร์ตนั้น มิฉะนั้นพอร์ตจะไม่ลงทะเบียนว่าเปิดอยู่

ฉันไม่สามารถเชื่อมต่อกับพอร์ตที่ฉันเพิ่งเปิดได้ เกิดอะไรขึ้น

หากคุณทำตามขั้นตอนทั้งหมดข้างต้นและไม่สามารถเชื่อมต่อกับพอร์ตได้ ให้ตรวจสอบการพิมพ์ของคุณอีกครั้ง หากคุณแน่ใจว่าคุณป้อนทุกอย่างถูกต้อง คุณอาจจำเป็นต้องกำหนดค่าเราเตอร์เครือข่ายของคุณใหม่เพื่อให้สามารถรับส่งข้อมูลได้

เนื่องจากเราเตอร์เครือข่ายทุกตัวมีหน้าจอการกำหนดค่าที่แตกต่างกัน คุณจึงควรศึกษาหน้าสนับสนุนหรือคู่มือผู้ใช้สำหรับอุปกรณ์เฉพาะของคุณ คุณจะต้องตรวจสอบการตั้งค่าการส่งต่อพอร์ตหรือการจับคู่พอร์ต รวมถึงไฟร์วอลล์ในตัวที่เราเตอร์อาจใช้

วิธีเปิดพอร์ตอย่างถาวรใน Linux

เมื่อคุณได้ทดสอบพอร์ตที่เปิดอยู่และแน่ใจว่าใช้งานได้ คุณอาจต้องการทำการเปลี่ยนแปลงอย่างถาวร มิฉะนั้น การเปลี่ยนแปลงอาจไม่คงอยู่หลังจากรีบูต หากคุณเป็นผู้ใช้ Ubuntu หรือใช้ ไฟร์วอลล์ ufwคุณไม่ต้องกังวลกับสิ่งนี้ กฎufwไม่รีเซ็ตเมื่อรีบูต

สำหรับผู้ใช้ไฟร์วอลล์

การทำให้กฎของพอร์ตติดอยู่หลังจากรีบูตทำได้ง่ายด้วยfirewalld เพียงเพิ่ม—permanent flag ให้กับคำสั่งเริ่มต้นของคุณ และคำสั่งนั้นจะรวมอยู่ในกฎไฟร์วอลล์ของระบบ Linux เมื่อเริ่มต้น

sudo firewall-cmd --add-port=4000/tcp --permanent

หากคุณยังคงใช้ iptables

ไฟร์วอลล์ iptablesนั้นลำบากกว่ามาก (อาจเป็นเหตุผลที่ดีในการอัพเกรดเป็นfirewalldหรือufw ) ในการ "เปิดพอร์ตอย่างถาวร" ในiptablesคุณสามารถติดตั้งแพ็คเกจiptables-persistent เพื่อช่วยได้

เมื่อคุณติดตั้งiptables-persistentบนระบบที่ใช้ Debian เป็นครั้งแรก ระบบจะบันทึกกฎปัจจุบันของคุณไว้ที่/etc/iptables/rules.v4หรือ/etc/iptables/rules.v6 ในการเพิ่มกฎใหม่ คุณจะต้องออกคำสั่งต่อไปนี้:

sudo iptables-save > /etc/iptables/rules.v4

หรือ

sudo iptables-save > /etc/iptables/rules.v6

สำหรับผู้ที่ใช้การแจกแจงแบบลินุกซ์ที่ใช้ RPM จะแตกต่างออกไปเล็กน้อย แพ็คเกจนี้เรียกว่าiptables-servicesและไฟล์บันทึกคือ/etc/sysconfig/iptablesและ /etc/sysconfig / ip6tables

ในการแจกแจงแบบอิง RPM ยังมีคำสั่งอื่นที่ใช้สำหรับพอร์ต IPv6 การบันทึกกฎของคุณทำได้โดยใช้หนึ่งในสองคำสั่งต่อไปนี้:

sudo iptables-save > /etc/sysconfig/iptables sudo ip6tables-save > /etc/sysconfig/iptables

อย่าลืมตรวจสอบการใช้พอร์ตของคุณ

เมื่อเวลาผ่านไป ความต้องการของเซิร์ฟเวอร์ของคุณอาจเปลี่ยนไป เช่นเดียวกับที่คุณควรติดตามบัญชีผู้ใช้ในเครื่อง Linux คุณควรตรวจสอบพอร์ตที่เปิดอยู่เป็นประจำ ปิดพอร์ตที่เปิดอยู่โดยไม่จำเป็นอีกต่อไป นอกจากการเปลี่ยนรหัสผ่านของคุณ เป็นประจำ แล้ว นี่เป็นแนวทางปฏิบัติด้านความปลอดภัยที่ดีที่จะช่วยให้คุณหลีกเลี่ยงการบุกรุกระบบและการเจาะระบบความปลอดภัย

Tags: #HOW-TO

วิธีแปลอีเมลขาเข้าใน Microsoft Outlook

วิธีแปลอีเมลขาเข้าใน Microsoft Outlook

เรียนรู้วิธีแปลอีเมลขาเข้าผ่าน Microsoft Outlook อย่างง่ายดาย โดยปรับการตั้งค่าเพื่อแปลอีเมลหรือดำเนินการแปลแบบครั้งเดียว

10 วิธีในการแก้ไขข้อผิดพลาด NET :: ERR_CERT_AUTHORITY_INVALID อย่างถาวร

10 วิธีในการแก้ไขข้อผิดพลาด NET :: ERR_CERT_AUTHORITY_INVALID อย่างถาวร

อ่านคำแนะนำเพื่อปฏิบัติตามวิธีแก้ปัญหาทีละขั้นตอนสำหรับผู้ใช้และเจ้าของเว็บไซต์เพื่อแก้ไขข้อผิดพลาด NET::ERR_CERT_AUTHORITY_INVALID ใน Windows 10

CefSharp.BrowserSubprocess คืออะไร ฉันควรหยุดมันไหม?

CefSharp.BrowserSubprocess คืออะไร ฉันควรหยุดมันไหม?

ค้นหาข้อมูลเกี่ยวกับ CefSharp.BrowserSubprocess.exe ใน Windows พร้อมวิธีการลบและซ่อมแซมข้อผิดพลาดที่เกี่ยวข้อง มีคำแนะนำที่เป็นประโยชน์

ไม่สามารถจับภาพหน้าจอเนื่องจากนโยบายความปลอดภัย? นี่คือเหตุผล

ไม่สามารถจับภาพหน้าจอเนื่องจากนโยบายความปลอดภัย? นี่คือเหตุผล

ค้นพบวิธีแก้ไขปัญหาเมื่อคุณไม่สามารถจับภาพหน้าจอได้เนื่องจากนโยบายความปลอดภัยในแอป พร้อมเทคนิคที่มีประโยชน์มากมายในการใช้ Chrome และวิธีแชร์หน้าจออย่างง่ายๆ.

ติดตั้ง Windows 10 บน M1 Mac และบอกลา Boot Camp

ติดตั้ง Windows 10 บน M1 Mac และบอกลา Boot Camp

ในที่สุด คุณสามารถติดตั้ง Windows 10 บน M1 Macs โดยใช้ Parallels Desktop 16 สำหรับ Mac นี่คือขั้นตอนที่จะทำให้เป็นไปได้

Fallout 3 จะไม่เปิด/ไม่ทำงานบน Windows 10 [แก้ไขด่วน]

Fallout 3 จะไม่เปิด/ไม่ทำงานบน Windows 10 [แก้ไขด่วน]

ประสบปัญหาเช่น Fallout 3 จะไม่เปิดขึ้นหรือไม่ทำงานบน Windows 10? อ่านบทความนี้เพื่อเรียนรู้วิธีทำให้ Fallout 3 ทำงานบน Windows 10 ได้อย่างง่ายดาย

[แก้ไขแล้ว] จะแก้ไขข้อผิดพลาดแอปพลิเคชัน 0xc0000142 และ 0xc0000005 ได้อย่างไร

[แก้ไขแล้ว] จะแก้ไขข้อผิดพลาดแอปพลิเคชัน 0xc0000142 และ 0xc0000005 ได้อย่างไร

วิธีแก้ไขข้อผิดพลาด Application Error 0xc0000142 และ 0xc0000005 ด้วยเคล็ดลับที่มีประสิทธิภาพและการแก้ปัญหาที่สำคัญ

การแก้ไข: การใช้งาน CPU สูงของความเข้ากันได้ของ Microsoft Telemetry อย่างถาวร

การแก้ไข: การใช้งาน CPU สูงของความเข้ากันได้ของ Microsoft Telemetry อย่างถาวร

เรียนรู้วิธีแก้ไข Microsoft Compatibility Telemetry ประมวลผลการใช้งาน CPU สูงใน Windows 10 และวิธีการปิดการใช้งานอย่างถาวร...

[แก้ไขแล้ว] ข้อผิดพลาดของ World War Z – หยุดทำงาน ไม่เปิดตัว หน้าจอดำและอื่น ๆ

[แก้ไขแล้ว] ข้อผิดพลาดของ World War Z – หยุดทำงาน ไม่เปิดตัว หน้าจอดำและอื่น ๆ

หากพบข้อผิดพลาดและข้อบกพร่องของ World War Z เช่น การหยุดทำงาน ไม่โหลด ปัญหาการเชื่อมต่อ และอื่นๆ โปรดอ่านบทความและเรียนรู้วิธีแก้ไขและเริ่มเล่นเกม

วิธีการใช้ ลบ และค้นหาข้อความเน้นใน Word

วิธีการใช้ ลบ และค้นหาข้อความเน้นใน Word

เมื่อคุณต้องการให้ข้อความในเอกสารของคุณโดดเด่น คุณสามารถใช้เครื่องมือในตัวที่มีประโยชน์ได้ ต่อไปนี้คือวิธีการเน้นข้อความใน Word