ฉันต้องการตั้งค่าบริการ linux ให้เป็นพอร์ตที่ไม่ได้มาตรฐาน - หมายเลขพอร์ตที่ถูกต้องที่สุดคืออะไร
ฉันต้องการตั้งค่าบริการ linux ให้เป็นพอร์ตที่ไม่ได้มาตรฐาน - หมายเลขพอร์ตที่ถูกต้องที่สุดคืออะไร
คำตอบ:
(2 ^ 16) -1 หรือ 0-65,535 (-1 คือเนื่องจากพอร์ต 0 ถูกจองและไม่พร้อมใช้งาน) (แก้ไขเพราะ o_O Tync เตือนฉันว่าเราไม่สามารถใช้พอร์ต 0 ได้และ Steve Folly เตือนฉันว่าคุณขอพอร์ตสูงสุดไม่ใช่จำนวนพอร์ต)
แต่คุณอาจทำผิดแบบนี้ มีคนที่โต้เถียงและต่อต้านพอร์ตที่ไม่ได้มาตรฐาน ฉันบอกว่าพวกเขาไม่เกี่ยวข้องยกเว้นสแกนเนอร์ที่ไม่เป็นทางการที่สุดและสแกนเนอร์ที่ไม่เป็นทางการส่วนใหญ่สามารถเก็บไว้ได้โดยใช้ซอฟต์แวร์ที่ทันสมัยและเทคนิคไฟร์วอลล์ที่เหมาะสมพร้อมกับรหัสผ่านที่คาดเดายาก กล่าวอีกนัยหนึ่งแนวทางปฏิบัติด้านความปลอดภัยที่ดีที่สุด
มี 1-65535 และพอร์ตในช่วงที่ 1-1023 เป็นรายการที่มีสิทธิพิเศษ : แอปพลิเคชันจะต้องทำงานเป็นรูทเพื่อรับฟังพอร์ตเหล่านี้
แม้ว่า 1-65535 เป็นพอร์ต TCP ที่ถูกต้องและเป็นจริงที่ 1-1023 สำหรับบริการพอร์ตที่รู้จักกันดี คุณอาจพบปัญหาสุ่มกับบริการของคุณเองหากพวกเขาจะเริ่มต้นหลังจากพอร์ตชั่วคราวที่จัดตั้งขึ้น สำหรับผู้ที่อาจไม่รู้พอร์ตชั่วคราวคือพอร์ตที่เชื่อมต่อแบบโลคัลสำหรับจุดปลายรีโมต ดังนั้นถ้าคุณเขียนบริการ TCP ที่ฟังพอร์ต 20001 คุณอาจดีในวันนี้ ... และพรุ่งนี้ แต่วันหนึ่งบริการของคุณอาจเริ่มทำงานและพยายามเชื่อมโยงกับ 20001 และจะล้มเหลวเนื่องจากเป็นพอร์ตชั่วคราว มีทางออกคือ คุณต้องมีผู้ดูแลระบบของคุณหรือตัวคุณเองเปลี่ยนนโยบายช่วงพอร์ตชั่วคราวบนเซิร์ฟเวอร์ของคุณ บนระบบ Linux นั้นทำได้สองขั้นตอน:
ต้องดำเนินการทั้งสองขั้นตอนโดยที่คุณไม่จำเป็นต้องรีบูตซึ่งในกรณีนี้ไม่จำเป็นต้องใช้ขั้นตอนแบบไดนามิก หากต้องการตั้งค่าช่วงของคุณสูงสุดถึง 40000 ถึง 65535 ให้ทำดังนี้:
พลวัต
echo 40000 65535 > /proc/sys/net/ipv4/ip_local_port_range
หรือ
sysctl -w net.ipv4.ip_local_port_range="40000 65535"
ถาวร
เพิ่มสิ่งต่อไปนี้ใน /etc/sysctl.conf:
net.ipv4.ip_local_port_range = 40000 65535
หากต้องการอ่านการตั้งค่าปัจจุบันหรือเพื่อยืนยันการเปลี่ยนแปลง:
/sbin/sysctl net.ipv4.ip_local_port_range
ผลลัพธ์จะเป็นดังนี้:
net.ipv4.ip_local_port_range = 9000 65500
ต้องแน่ใจว่าคุณเข้าใจวัตถุประสงค์ของเซิร์ฟเวอร์ของคุณ การลดช่วงมากเกินไปอาจนำไปสู่ปัญหาอื่น ๆ
Happy Coding! (หรืออะไรก็ตามที่คุณทำ)