ฉันต้องการเปิดใช้งานการเชื่อมต่อ SSH บนพอร์ตเพิ่มเติมบนเครื่องของฉันด้วยเหตุผล เป็นเครื่องจริง (ไม่ใช่ VM) เรียกใช้ Devuan GNU/Linux Chimaera (~= Debian 11.0 โดยไม่มี systemd) เซิร์ฟเวอร์ SSH เริ่มต้น (OpenSSH_8.4p1 Debian-5, OpenSSL 1.1.1k) ทำงานได้ดีและยอมรับการเชื่อมต่อบนพอร์ต 22 แล้ว
ฉันได้เพิ่มสอง ท่าเรือ
รายการของฉัน /etc/sshd_config
:
พอร์ต 22
พอร์ต 5123
และได้เริ่มบริการใหม่แล้ว
สิ่งที่ผมพบตอนนี้คือ จากในเครื่องเดียวกัน ผมสามารถเชื่อมต่อได้ทั้งสองพอร์ต (ssh -p 5123 localhost
ทำงาน); แต่จากเครื่องอื่นบน LAN ฉันสามารถเชื่อมต่อกับพอร์ต 22 เท่านั้น นี่เป็น LAN จริง (สายเคเบิลที่วิ่งไปยังสวิตช์) ดังนั้นจึงไม่ควรมีสิ่งกีดขวางระหว่างทาง
- ฉันไม่พบการกล่าวถึงการเชื่อมต่อที่ถูกปฏิเสธใน
/var/log/auth.log
.
- ฉันตรวจสอบแล้ว
/etc/hosts.allow
และ /etc/hosts.deny
- ว่างเปล่าทั้งคู่ (ยกเว้นบรรทัดความคิดเห็น)
- ฉันเหนื่อย
iptables --รายการ
- โต๊ะว่างทั้งหมด
ดังนั้น อะไรอาจบล็อกการเชื่อมต่อบนพอร์ต 5123 จากเครื่องอื่น และฉันจะปลดบล็อกได้อย่างไร
แก้ไข: ข้อมูลเพิ่มเติม:
# lsof -Pi :5410
คำสั่ง PID ผู้ใช้ ประเภท FD ขนาดอุปกรณ์/ปิด ชื่อโหนด
sshd 27566 รูท 3u IPv4 19305483 0t0 TCP *:5410 (ฟัง)
sshd 27566 รูท 4u IPv6 19305485 0t0 TCP *:5410 (ฟัง)
# iptables ประหยัด
# คำเตือน: มีตาราง iptables-legacy ให้ใช้ iptables-legacy-save เพื่อดู
# iptables-มรดกบันทึก
# สร้างโดย iptables-save v1.8.7 ในวันอาทิตย์ที่ 10 ต.ค. 09:30:15 น. 2564
*กรอง
:INPUT DROP [3837243:374065333]
:ทิ้งไปข้างหน้า [0:0]
: ยอมรับเอาต์พุต [8124295:583169789]
-A INPUT -m state --state INVALID -j DROP
-A INPUT -m state --สถานะที่เกี่ยวข้อง,ESTABLISHED -j ACCEPT
-A อินพุต -i lo -j ยอมรับ
-A อินพุต -p icmp -j ยอมรับ
-A INPUT -p udp -m udp --dport 500 -j ยอมรับ
-A อินพุต -p esp -j ยอมรับ
-A อินพุต -p อา -j ยอมรับ
-อินพุต -p tcp -m tcp --dport 22 -j ยอมรับ
-A FORWARD -m state --state INVALID -j DROP
-A FORWARD -m state --สถานะที่เกี่ยวข้อง,ESTABLISHED -j ยอมรับ
-A OUTPUT -m state --สถานะที่เกี่ยวข้อง,ESTABLISHED -j ACCEPT
ให้สัญญา
# เสร็จสิ้นเมื่อ อา. 10 ต.ค. 09:30:15 น. 2564
ดูเหมือนว่ามีกฎในการรับพอร์ต 22 เป็นอินพุต แต่ไม่มีกฎดังกล่าวสำหรับพอร์ต 5123 คำถามยังคงอยู่ - อะไรคือสาเหตุของสถานการณ์นี้
#แมว /etc/nftables.conf
#!/usr/sbin/nft -f
ล้างชุดกฎ
ตัวกรองตาราง inet {
อินพุตลูกโซ่ {
ประเภทตัวกรอง hook อินพุตลำดับความสำคัญ 0;
}
ห่วงโซ่ไปข้างหน้า {
ประเภทตัวกรอง hook ลำดับความสำคัญไปข้างหน้า 0;
}
เอาต์พุตลูกโซ่ {
ประเภทลำดับความสำคัญเอาต์พุตของตะขอตัวกรอง 0;
}
}
บน Debian 11 และ Devuan Chimaera iptables
เป็นจริง symlink:
# readlink `ซึ่ง iptables`
/etc/ทางเลือก/iptables
# readlink -f `ซึ่ง iptables`
/usr/sbin/xtables-nft-multi