คำถามติดแท็ก port-forwarding

การส่งต่อพอร์ตเป็นกระบวนการที่ประกอบด้วยการแปลโฮสต์: พอร์ตคู่ไปยังโฮสต์ 2: พอร์ต 2 คู่อื่นซึ่งส่งไปยังเน็ตเวิร์กมาสก์เดียวกัน

27
ข้อผิดพลาดในการสร้างอุโมงค์ SSH:“ ช่อง 1: เปิดล้มเหลว: ไม่อนุญาตให้ดำเนินการ: เปิดล้มเหลว”
เมื่อฉันเปิดอุโมงค์ SSH นี้: ssh -nXNT -p 22 localhost -L 0.0.0.0:8984:remote:8983 ฉันได้รับข้อผิดพลาดนี้เมื่อพยายามเข้าถึงเซิร์ฟเวอร์ HTTP ที่ทำงานบน localhost: 8984: channel 1: open failed: administratively prohibited: open failed ข้อผิดพลาดนี้หมายถึงอะไรและเครื่องใดที่คุณสามารถแก้ไขปัญหาได้

8
วิธีง่ายๆในการสร้างอุโมงค์จากพอร์ตท้องถิ่นหนึ่งไปยังอีก?
ฉันมีเซิร์ฟเวอร์การพัฒนาซึ่งสามารถเข้าถึงได้จาก 127.0.0.1:8000 ไม่ใช่ 192.168.1.x: 8000 ในฐานะที่เป็นแฮ็คที่รวดเร็วมีวิธีตั้งค่าบางอย่างให้ฟังบนพอร์ตอื่น (เช่น 8001) เพื่อให้จากเครือข่ายท้องถิ่นฉันสามารถเชื่อมต่อ 192.168.1.x: 8001 และจะสร้างการรับส่งข้อมูลระหว่างไคลเอ็นต์และ 127.0 .0.1: 8000?

6
แสดงพอร์ตที่กระบวนการ PID กำลังฟัง (ควรใช้เครื่องมือ iproute2) หรือไม่
ฉันกำลังค้นหารายการพอร์ตทั้งหมดที่ PID กำลังฟังอยู่ คุณจะแนะนำอย่างไรให้ฉันได้รับข้อมูลประเภทนี้เกี่ยวกับกระบวนการ

3
iptables เปลี่ยนเส้นทางนอกคำขอไปยัง 127.0.0.1
ฉันมีบริการที่ทำงานบน 127.0.0.1 ด้วยพอร์ต 2222 ฉันต้องส่งต่อคำขอทั้งหมดไปที่ 192.168.2.2:2222 (นอก IP) จากซับเน็ตเท่านั้น 192.168.1.0/24 ถึง 127.0.0.1:2222 ฉันพยายามใช้สิ่งนี้ แต่มันไม่ทำงาน $ iptables -t nat -I PREROUTING -p tcp -d 192.168.1.0/24 --dport 2222 -j DNAT --to-destination 127.0.0.1:2222 ฉันจะทำให้เรื่องนี้ทำงานได้อย่างไร UPD: แก้ไขรูปแบบที่อยู่

3
ssh พอร์ตส่งต่อเพื่อเข้าถึงเครื่องที่บ้านของฉันได้จากทุกที่
ฉันมาจากคำถามนี้: /superuser/359799/how-to-make-freebsd-box-accessible-from-internet port forwardingฉันต้องการที่จะเข้าใจกระบวนการทั้งหมดนี้ ฉันอ่านหลายสิ่งหลายอย่าง แต่ไม่เข้าใจแนวคิดพื้นฐานของการส่งต่อพอร์ตของตัวเอง สิ่งที่ฉันมี: เซิร์ฟเวอร์ freebsd นั่งอยู่ที่บ้านของฉัน เน็ตเราเตอร์ นี่คือสิ่งที่ฉันพยายามบรรลุ: เพื่อให้สามารถเข้าถึงเซิร์ฟเวอร์ freebsd จากเครื่อง windows ผ่านอินเทอร์เน็ตเพื่อให้สามารถเปิดเว็บเบราว์เซอร์และเข้าถึงอินเทอร์เน็ต ฉันยังต้องการเข้าถึงกล่อง freebsd นี้จากเครื่องอูบุนตูที่ฉันมี มันจะดีถ้ามีคนช่วยฉันด้วย นี่คือการตั้งค่าเราเตอร์ netgear ที่ฉันทำเพื่อการส่งต่อพอร์ต

6
ช่องสัญญาณพอร์ตอย่างปลอดภัยผ่านโฮสต์ระดับกลาง
ฉันกำลังมองหาเส้นทางพอร์ตสำหรับ VNC กลับไปที่บ้านของฉันที่นี่ ฉันต้องกระโดดข้ามโฮสต์เดียวเพื่อกระโดดไปยังเครื่องทำงานจริงของฉัน sittinghere จะเป็นเครื่องที่บ้านของฉัน hopper จะโดยการกระโดดระดับกลางที่ฉันต้องทำ overthere จะเป็นเครื่องทำงานระยะไกล ฉันสามารถทำสิ่งนี้กับ SSH ในเครื่องทำงานของฉันได้: ssh -t hopper "ssh -t overthere" ฉันต้องการที่จะใช้การส่งต่อพอร์ตการส่งต่อพอร์ตระยะไกลใน 5900 overthereกับพอร์ตท้องถิ่น 5900 sittinghereบน อย่างไรก็ตามฉันต้องการที่จะสามารถทำได้โดยไม่ต้องเชื่อมต่อกับพอร์ตอย่างเปิดเผยhopperเพราะทุกคนในเครื่องนั้นจะสามารถเชื่อมต่อกับการเชื่อมต่อ VNC ของฉันได้ มีวิธีใด ๆ สำหรับผมที่จะส่งต่อพอร์ตที่เครื่องท้องถิ่นของฉันปลอดภัยด้วยไม่มีใครสามารถที่จะได้รับการเข้าถึงบนhopper?

4
ฉันจะ จำกัด การส่งต่อพอร์ต ssh * remote * ได้อย่างไร
ฉันต้อง จำกัด พอร์ตที่ผู้ใช้สามารถssh -Rส่งต่อจากระยะไกล " " ฉันรู้เกี่ยวกับpermitopenตัวเลือกใน authorized_keys แต่อย่างที่มันบอกไว้ใน man page มัน จำกัดssh -Lการส่งต่อพอร์ตในท้องถิ่นเท่านั้น ตามที่กล่าวไว้ที่นี่ผู้ใช้จะได้รับเหมือนnetcatหรือคล้ายกัน แต่ในกรณีนี้ผู้ใช้ไม่มีการเข้าถึงเชลล์ ฉันพบเธรดนี้ที่พูดถึงการใช้ selinux หรือLD_PRELOADแต่ฉันไม่เคยกำหนดค่า selinux มาก่อนและไม่สามารถหาข้อมูลเกี่ยวกับวิธีการทำเช่นนั้นLD_PRELOADได้ อาจมีคนทำแพทช์สำหรับ openssh เพื่อใช้งานหรือไม่ แก้ไข: ฉันพบรายงานข้อผิดพลาดนี้แล้วดังนั้นฉันจึงเดาว่ายังไม่ได้ใช้งาน

4
ส่งต่อไปยังไคลเอนต์ VPN หรือไม่
ฉันพบกับปริศนานิดหน่อยและไม่เคยโชคดีในการหาทางออก ตอนนี้ฉัน (เศร้า) เชื่อมต่อกับเน็ตผ่าน Verizon 3G พวกเขากรองทราฟฟิกที่เข้ามาทั้งหมดดังนั้นจึงเป็นไปไม่ได้ที่ฉันจะเปิดพอร์ตเพื่อยอมรับการเชื่อมต่อ ขณะนี้ฉันมีเครื่องเสมือนของ Linux ที่ linode.com และความคิดนั้นทำให้ฉันติดตั้งpptpdและพยายามทำการiptablesส่งต่อพอร์ต ฉันได้pptpdติดตั้งและเครื่องที่บ้านของฉันเชื่อมต่ออย่างมีความสุข ที่กล่าวว่าต่อไปนี้เป็นข้อมูลทั่วไป: เซิร์ฟเวอร์ (Debian) WAN IP: xxxx บน eth0 - pptpd IP: yyy1 บน ppp0 - IP VPN ของไคลเอ็นต์: yyy100 ในการตรวจสอบว่าฉันไม่ได้บ้าฉันพยายามเชื่อมต่อจากเซิร์ฟเวอร์ไปยังพอร์ตที่เปิดอยู่บนไคลเอนต์และลูกค้ายอมรับการเชื่อมต่อผ่าน VPN IP สิ่งที่ฉันต้องการทำให้สำเร็จคือ: อินเทอร์เน็ต -> WAN IP: พอร์ต -> ส่งต่อไปยังไคลเอ็นต์ VPN IP: พอร์ต ตัวอย่างเช่นถ้าฉันเปิดพอร์ต 6,000 บนไคลเอ็นต์ของฉันบุคคลหนึ่งสามารถโทรไปที่ xxxx: …

3
ฉันจะเปลี่ยนเส้นทางของทราฟฟิกขาออกไปยังพอร์ต 80 โดยใช้ iptables แบบโลคัลได้อย่างไร
iptablesฉันพยายามที่จะเปลี่ยนเส้นทางพอร์ตไว้บนเครื่องของฉันโดยใช้อูบุนตู คล้ายกับพร็อกซี่โปร่งใส ฉันต้องการจับทุกสิ่งที่พยายามออกจากระบบของฉันบนพอร์ต 80 และเปลี่ยนเส้นทางไปยังโฮสต์และพอร์ตระยะไกล ฉันสามารถทำได้โดยใช้ NAT และฟังก์ชั่นการกำหนดเส้นทางล่วงหน้าของiptablesหรือไม่

3
วิธีการส่งต่อพอร์ตจากเครื่องหนึ่งไปยังอีกเครื่องหนึ่ง
พิจารณาสถานการณ์ต่อไปนี้: ที่บ้านของฉันฉันมีเราเตอร์ (ซึ่งเชื่อมต่อกับอินเทอร์เน็ต) เซิร์ฟเวอร์ (S) และเครื่องหลักของฉัน (M) S สามารถเข้าถึงได้จากอินเทอร์เน็ต (มันมี IP แบบคงที่) และมันก็ขึ้นอยู่ 24/7 ในขณะที่ M ไม่ได้เป็น บางครั้งฉันต้องการทำให้แอพบางตัว (ซึ่งฟังบนพอร์ตบางพอร์ตบน M เช่น 8888) สามารถเข้าถึงได้จากอินเทอร์เน็ตภายนอก เพื่อที่ฉันต้องการตั้งค่าบางพอร์ตใน S (2222) เพื่อส่งต่อไปยังพอร์ต M 8888 ดังนั้นใครก็ตามที่เข้าถึง S: 2222 จะรู้สึกเหมือนเขากำลังเข้าถึง M: 8888 ฉันพยายามใช้การส่งต่อพอร์ต ssh ความพยายามที่ดีที่สุดของฉันคือ: ssh -L 2222:M:8888 -N M แต่นั่นทำให้ฉันสามารถเข้าถึงพอร์ต 2222 จากเซิร์ฟเวอร์เองไม่ใช่จากเครื่องอื่น มีวิธีทำอย่างถูกต้องหรือไม่? โดยเฉพาะอย่างยิ่งฉันต้องการให้มันเป็นคำสั่งง่ายๆซึ่งฉันจะสามารถเริ่มและปิดด้วย ^ C …

2
ความแตกต่างระหว่าง“ การส่งต่อโลคัลพอร์ต” และ“ การส่งต่อพอร์ตแบบไดนามิก” หรือไม่?
ฉันพยายามที่จะเข้าใจความแตกต่างระหว่าง "การส่งต่อพอร์ตท้องถิ่น" และ "การส่งต่อพอร์ตแบบไดนามิก" ในคำสั่ง ssh สำหรับ "local port forwarding" จำเป็นต้องระบุโฮสต์ปลายทางเสมอหรือไม่ "ไดนามิก" ใน "การส่งต่อพอร์ตแบบไดนามิก" หมายความว่าในคำสั่ง ssh สำหรับ "การส่งต่อพอร์ตแบบไดนามิก" ไม่จำเป็นต้องระบุโฮสต์ปลายทางหรือไม่ ถ้าใช่จะระบุปลายทางเมื่อใด

1
วิธีตั้งค่าการเปลี่ยนเส้นทางพอร์ตหลังจากเปิดการเชื่อมต่อ ssh แล้ว
ฉันใช้ openssh กับทั้งลูกค้าและเซิร์ฟเวอร์ ฉันรู้ว่าฉันสามารถเรียกใช้ssh -Lหรือssh -Rตั้งค่าการเปลี่ยนเส้นทางพอร์ตผ่าน ssh อย่างไรก็ตามเนื่องจากเป็นพารามิเตอร์บรรทัดคำสั่งการเปลี่ยนเส้นทางดังกล่าวจะต้องเขียนก่อนที่การเชื่อมต่อจะเปิดขึ้น ฉันสามารถตั้งค่าการเปลี่ยนเส้นทางพอร์ตแบบทันทีโดยใช้ไคลเอนต์บรรทัดคำสั่ง ssh ได้หรือไม่ เมื่อฉันใช้PuTTYไคลเอนต์ ssh ฉันสามารถตั้งค่าการเปลี่ยนเส้นทางพอร์ตแบบโต้ตอบได้ในขณะที่การเชื่อมต่อนั้นเปิดขึ้นโดยไม่ปล่อยหรือไม่เชื่อมต่อใหม่ดังนั้นฉันจึงรู้ว่าเป็นไปได้ทางเทคนิค

4
ส่งต่อพอร์ตไปยังแอปพลิเคชันในเนมสเปซเครือข่ายด้วย vpn
ฉันสามารถตั้งค่าเนมสเปซเครือข่ายสร้างช่องทางด้วย openvpn และเริ่มแอปพลิเคชันที่ใช้ช่องทางนี้ภายในเนมสเปซ จนถึงตอนนี้ดีมาก แต่แอปพลิเคชันนี้สามารถเข้าถึงได้ผ่านเว็บอินเตอร์เฟสและฉันไม่สามารถหาวิธีกำหนดเส้นทางคำขอไปยังเว็บอินเตอร์เฟสภายใน LAN ของฉัน ฉันทำตามคำแนะนำจาก @schnouki อธิบายวิธีตั้งค่าเนมสเปซเครือข่ายและเรียกใช้ OpenVPN ภายใน ip netns add myvpn ip netns exec myvpn ip addr add 127.0.0.1/8 dev lo ip netns exec myvpn ip link set lo up ip link add vpn0 type veth peer name vpn1 ip link set vpn0 up ip …

4
กำหนดพอร์ตที่จัดสรรแบบไดนามิกสำหรับ OpenSSH RemoteForward
คำถาม (TL; DR) เมื่อกำหนดพอร์ตแบบไดนามิกสำหรับการส่งต่อระยะไกล ( -Rตัวเลือกaka ) สคริปต์บนเครื่องระยะไกล (ตัวอย่างเช่นที่มาจาก.bashrc) จะกำหนดว่าพอร์ตใดถูกเลือกโดย OpenSSH พื้นหลัง ฉันใช้ OpenSSH (ทั้งสองด้าน) เพื่อเชื่อมต่อกับเซิร์ฟเวอร์กลางของเราที่ฉันแบ่งปันกับผู้ใช้อื่น ๆ สำหรับเซสชันระยะไกลของฉัน (ตอนนี้) ฉันต้องการส่งต่อ X, ถ้วยและ pulseaudio สิ่งที่สำคัญที่สุดคือการส่งต่อ X โดยใช้-Xตัวเลือก ที่อยู่ X ที่จัดสรรจะถูกเก็บไว้ในตัวแปรสภาพแวดล้อมDISPLAYและจากนั้นฉันสามารถกำหนดพอร์ต TCP ที่สอดคล้องกันได้ในกรณีส่วนใหญ่อย่างไรก็ตาม DISPLAYแต่ผมแทบจะไม่เคยต้องเพราะเกียรตินิยม Xlib ฉันต้องการกลไกที่คล้ายกันสำหรับถ้วยและพูลซีดิโอ พื้นฐานสำหรับบริการทั้งสองมีอยู่ในรูปแบบของตัวแปรสภาพแวดล้อมCUPS_SERVERและPULSE_SERVERตามลำดับ นี่คือตัวอย่างการใช้งาน: ssh -X -R12345:localhost:631 -R54321:localhost:4713 datserver export CUPS_SERVER=localhost:12345 lowriter #and I can print using my …

1
จะตรวจสอบได้อย่างไรว่าเปิดใช้งานการส่งต่อพอร์ตหรือไม่
ฉันเพิ่งตั้งค่าเซิร์ฟเวอร์ DNS สำหรับเครือข่ายของฉันเองและคำแนะนำมากมายออนไลน์แนะนำให้ตรวจสอบว่าพอร์ตที่ส่งต่อบนพอร์ต 53 ไม่ได้เปิดใช้งาน สิ่งที่ไม่ชัดเจนสำหรับฉันคือ: ฉันควรกำหนดค่านี้ที่ระดับเราเตอร์หรือระดับไฟร์วอลล์หรือไม่ ถ้าฉันควรทำสิ่งนี้บนไฟร์วอลล์ฉันจะทำสิ่งนี้กับ Ubuntu Server 12.04 ได้อย่างไร เครือข่ายในบ้านของฉันมีลูกค้าไม่กี่รายเซิร์ฟเวอร์ ESXi และเราเตอร์ที่บ้าน หนึ่งใน VMs ภายใน ESXi คือเซิร์ฟเวอร์ DNS (ทำงานบน Ubuntu Server 12.04) ซึ่งใช้สำหรับจัดการคำขอ DNS ในเครื่อง แต่ยังได้รับการกำหนดค่าให้ส่งต่อคำขอสำหรับ IP ภายนอกไปยังเซิร์ฟเวอร์ DNS ของ Google

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.