Tôi có một máy chủ trên mạng mà tôi muốn hiển thị với các kết nối SSH bên ngoài. Tôi có thể ssh trực tiếp tới thiết bị từ mạng của mình (ví dụ: ssh 192.168.88.162
hoạt động tốt).Tôi đã thiết lập quy tắc NAT để các kết nối tới 17722 định tuyến lại thành 22. Tuy nhiên, điều này không thành công:
PS C:\Users\Me> ssh -vvv -i .\.ssh\id_rsa -p 17722 [email protected]
OpenSSH_for_Windows_8.1p1, LibreSSL 3.0.2
debug1: Đọc dữ liệu cấu hình C:\Users\Me/.ssh/config
debug3: Không thể mở tệp: lỗi C:/ProgramData/ssh/ssh_config:2
debug2: resolve_canonicalize: tên máy chủ 160.119.XXX.XXX là địa chỉ
gỡ lỗi2: ssh_connect_direct
gỡ lỗi1: Đang kết nối với cổng 160.119.XXX.XXX [160.119.XXX.XXX] 17722.
debug3: finish_connect - LỖI: async io đã hoàn thành với lỗi: 10060, io: 00000222C310DC10
debug1: kết nối với địa chỉ 160.119.XXX.XXX cổng 17722: Hết thời gian kết nối
ssh: kết nối với máy chủ 160.119.XXX.XXX cổng 17722: Hết thời gian kết nối
Làm cách nào tôi có thể lấy ssh từ IP bên ngoài hoạt động?
tcpdump trên máy chủ hiển thị:
tôi@JanJansen:~ $ grep 64236 tcpdump
22:13:56.097727 IP 192.168.88.177.64236 > 192.168.88.162.ssh: Flags [S], seq 3490646443, win 64240, tùy chọn [mss 1460,nop,wscale 8,nop,nop,sackOK], độ dài 0
22:13:56.098213 IP 192.168.88.162.ssh > 192.168.88.177.64236: Flags [S.], seq 869880002, ack 3490646444, win 64240, tùy chọn [mss 1460,nop,nop,sackOK,ack 3490646444, win 64240, tùy chọn [mss 1460,nop,nop,sackOK,nop,wscale 6] chiều dài 0
22:13:57.105046 IP 192.168.88.177.64236 > 192.168.88.162.ssh: Flags [S], seq 3490646443, win 64240, tùy chọn [mss 1460,nop,wscale 8,nop,nop,sackOK], độ dài 0
22:13:57.105398 IP 192.168.88.162.ssh > 192.168.88.177.64236: Flags [S.], seq 869880002, ack 3490646444, win 64240, tùy chọn [mss 1460,nop,nop,sackOK,ack 3490646444, win 64240, tùy chọn [mss 1460,nop,nop,sackOK,nop,wscale 6] chiều dài 0
22:13:58.162258 IP 192.168.88.162.ssh > 192.168.88.177.64236: Flags [S.], seq 869880002, ack 3490646444, thắng 64240, tùy chọn [mss 1460,nop,nop,sackOK,ack 3490646444, win 64240, tùy chọn [mss 1460,nop,nop,sackOK,nop,wscale 6] chiều dài 0
22:13:59.117541 IP 192.168.88.177.64236 > 192.168.88.162.ssh: Flags [S], seq 3490646443, win 64240, tùy chọn [mss 1460,nop,wscale 8,nop,nop,sackOK], độ dài 0
22:13:59.117912 IP 192.168.88.162.ssh > 192.168.88.177.64236: Flags [S.], seq 869880002, ack 3490646444, win 64240, tùy chọn [mss 1460,nop,nop,sackOK,nop,wscale 6] chiều dài 0
22:14:01.122237 IP 192.168.88.162.ssh > 192.168.88.177.64236: Flags [S.], seq 869880002, ack 3490646444, win 64240, tùy chọn [mss 1460,nop,nop,sackOK,ack 3490646444, win 64240, tùy chọn [mss 1460,nop,nop,sackOK,nop,wscale 6] chiều dài 0
So với một ssh cục bộ có rất nhiều [P] cờ, không [S], đó là sự khác biệt lớn nhất mà tôi thấy, nhưng tôi không biết làm thế nào để giải quyết vấn đề này.
Đối với những gì nó có giá trị, tôi có thể thấy các quy tắc NAT có hiệu lực. Đây là cấu hình bộ định tuyến:
# tháng 10/04/2021 23:17:07 bởi RouterOS 6.47.4
# id phần mềm = VBLW-UG4R
#
# model=951Ui-2HnD
# số sê-ri = B8710C65021A
/ cầu giao diện
thêm admin-mac=48:8F:5A:79:92:71 auto-mac=no comment=defconf name=bridge
/giao diện không dây
đặt [ find default-name=wlan1 ] mode=ap-bridge ssid=MikroTik wireless-protocol=802.11
/giao diện pppoe-client
thêm add-default-route=yes bị vô hiệu hóa=không có giao diện=ether5 name=pppoe-out1 use-peer-dns=yes [email protected]
/danh sách giao diện
thêm nhận xét = tên defconf = WAN
thêm nhận xét = tên defconf = LAN
/giao diện hồ sơ bảo mật không dây
đặt [ find default=yes ] supplicant-identity=MikroTik
/nhóm ip
thêm tên=phạm vi dhcp=192.168.88.10-192.168.88.254
/ip máy chủ dhcp
thêm address-pool=dhcp bị vô hiệu hóa=không có giao diện=cầu nối thời gian thuê=12h name=defconf
/cổng cầu nối giao diện
thêm cầu = bình luận cầu = giao diện defconf = ether2
thêm cầu=bình luận cầu=giao diện defconf=ether3
thêm cầu = bình luận cầu = giao diện defconf = ether4
thêm cầu = cầu bình luận = giao diện defconf = wlan1
/ ip hàng xóm khám phá cài đặt
đặt khám phá-giao diện-danh sách = LAN
/giao diện danh sách thành viên
thêm nhận xét = giao diện defconf = danh sách cầu nối = LAN
thêm nhận xét = giao diện defconf = danh sách ether1 = WAN
thêm giao diện=pppoe-out1 danh sách=WAN
/địa chỉ IP
thêm địa chỉ=192.168.88.1/24 bình luận=defconf interface=ether2 network=192.168.88.0
/ip arp
thêm địa chỉ=192.168.88.162 bình luận=JanJansen giao diện=bridge mac-address=00:0F:13:39:20:33
thêm địa chỉ=192.168.88.177 nhận xét=giao diện Sarevok=bridge mac-address=40:8D:5C:58:C0:97
thêm địa chỉ=192.168.88.202 giao diện=bridge mac-address=32:63:2A:49:58:D9
thêm địa chỉ=192.168.88.101 giao diện=bridge mac-address=18:56:80:24:47:12
/ip đám mây
đặt ddns-enabled=có
/ip dhcp-client
thêm nhận xét = giao diện defconf = ether1
/ip mạng máy chủ dhcp
thêm địa chỉ=192.168.88.0/24 bình luận=defconf gateway=192.168.88.1
/ip dns
đặt allow-remote-requests=yes
/ip dns tĩnh
thêm địa chỉ=192.168.88.1 bình luận=defconf name=router.lan
/ip bộ lọc tường lửa
thêm hành động=chấp nhận chuỗi=nhận xét đầu vào="defconf: chấp nhận đã thiết lập, có liên quan, không bị theo dõi" trạng thái kết nối=được thiết lập, có liên quan, không bị theo dõi
thêm hành động = thả chuỗi = nhận xét đầu vào = "defconf: hủy không hợp lệ" kết nối trạng thái = không hợp lệ
thêm hành động=chấp nhận chuỗi=nhận xét đầu vào="defconf: chấp nhận ICMP" giao thức=icmp
thêm action=accept chain=input comment="defconf: chấp nhận vòng lặp cục bộ (dành cho CAPsMAN)" dst-address=127.0.0.1
thêm hành động=thả chuỗi=nhận xét đầu vào="defconf: bỏ tất cả không đến từ mạng LAN" trong danh sách giao diện=!LAN
thêm hành động=chấp nhận chuỗi=chuyển tiếp bình luận="defconf: chấp nhận trong chính sách ipsec" ipsec-policy=in,ipsec
thêm hành động=chấp nhận chuỗi=chuyển tiếp nhận xét="defconf: chấp nhận chính sách ipsec" ipsec-policy=out,ipsec
thêm hành động=chuỗi kết nối fasttrack=chuyển tiếp bình luận="defconf: fasttrack" trạng thái kết nối=đã thiết lập, có liên quan
thêm hành động=chấp nhận chuỗi=chuyển tiếp bình luận="defconf: chấp nhận đã thiết lập, có liên quan, không bị theo dõi" trạng thái kết nối=được thiết lập, có liên quan, không bị theo dõi
thêm hành động=thả chuỗi=chuyển tiếp bình luận="defconf: bỏ không hợp lệ" kết nối-trạng thái=không hợp lệ
add action=drop chain=forward comment="defconf: drop all from WAN not DSTNATed" connection-nat-state=!dstnat connection-state=new in-interface-list=WAN
thêm hành động=chấp nhận chuỗi=chuyển tiếp bình luận="Bên ngoài SSH" dst-port=22 log=yes giao thức=tcp
/ip tường lửa nat
thêm hành động=chuỗi giả trang=srcnat bình luận="defconf: masquerade" ipsec-policy=out,none out-interface-list=WAN
thêm hành động=dst-nat chain=dstnat comment=JanJansen dst-port=17722 in-interface=bridge log=yes protocol=tcp to-addresses=192.168.88.162 to-ports=22
/danh sách địa chỉ tường lửa ipv6
thêm địa chỉ=::/128 comment="defconf: địa chỉ không xác định" list=bad_ipv6
thêm địa chỉ=::1/128 bình luận="defconf: lo" list=bad_ipv6
thêm địa chỉ=fec0::/10 bình luận="defconf: site-local" list=bad_ipv6
thêm địa chỉ=::ffff:0.0.0.0/96 comment="defconf: ipv4-mapped" list=bad_ipv6
thêm địa chỉ=::/96 comment="defconf: ipv4 compat" list=bad_ipv6
thêm địa chỉ=100::/64 bình luận="defconf: chỉ loại bỏ " list=bad_ipv6
thêm địa chỉ=2001:db8::/32 bình luận="defconf: tài liệu" list=bad_ipv6
thêm địa chỉ=2001:10::/28 bình luận="defconf: ORCHID" list=bad_ipv6
thêm địa chỉ=3ffe::/16 comment="defconf: 6bone" list=bad_ipv6
thêm địa chỉ=::224.0.0.0/100 comment="defconf: other" list=bad_ipv6
thêm địa chỉ=::127.0.0.0/104 comment="defconf: other" list=bad_ipv6
thêm địa chỉ=::/104 comment="defconf: other" list=bad_ipv6
thêm địa chỉ=::255.0.0.0/104 comment="defconf: other" list=bad_ipv6
/ipv6 bộ lọc tường lửa
thêm hành động=chấp nhận chuỗi=nhận xét đầu vào="defconf: chấp nhận đã thiết lập, có liên quan, không bị theo dõi" trạng thái kết nối=được thiết lập, có liên quan, không bị theo dõi
thêm hành động = thả chuỗi = nhận xét đầu vào = "defconf: hủy không hợp lệ" kết nối trạng thái = không hợp lệ
thêm hành động=chấp nhận chuỗi=nhận xét đầu vào="defconf: chấp nhận ICMPv6" giao thức=icmpv6
thêm hành động=chấp nhận chuỗi=nhận xét đầu vào="defconf: chấp nhận theo dõi UDP" port=33434-33534 giao thức=udp
thêm hành động=chấp nhận chuỗi=nhận xét đầu vào="defconf: chấp nhận ủy quyền tiền tố DHCPv6-Client." dst-port=546 giao thức=udp src-address=fe80::/10
thêm hành động=chấp nhận chuỗi=nhận xét đầu vào="defconf: chấp nhận IKE" dst-port=500,4500 giao thức=udp
thêm hành động=chấp nhận chuỗi=nhận xét đầu vào="defconf: chấp nhận ipsec AH" giao thức=ipsec-ah
thêm hành động=chấp nhận chuỗi=nhận xét đầu vào="defconf: chấp nhận ipsec ESP" giao thức=ipsec-esp
thêm action=accept chain=input comment="defconf: chấp nhận tất cả những gì phù hợp với chính sách ipsec" ipsec-policy=in,ipsec
thêm hành động=thả chuỗi=nhận xét đầu vào="defconf: loại bỏ mọi thứ khác không đến từ mạng LAN" trong danh sách giao diện=!LAN
thêm hành động=chấp nhận chuỗi=chuyển tiếp bình luận="defconf: chấp nhận đã thiết lập, có liên quan, không bị theo dõi" trạng thái kết nối=được thiết lập, có liên quan, không bị theo dõi
thêm hành động=thả chuỗi=chuyển tiếp bình luận="defconf: bỏ không hợp lệ" kết nối-trạng thái=không hợp lệ
add action=drop chain=forward comment="defconf: drop packet with bad src ipv6" src-address-list=bad_ipv6
add action=drop chain=forward comment="defconf: drop packet with bad dst ipv6" dst-address-list=bad_ipv6
thêm hành động=thả chuỗi=chuyển tiếp bình luận="defconf: rfc4890 drop hop-limit=1" hop-limit=equal:1 giao thức=icmpv6
thêm hành động=chấp nhận chuỗi=chuyển tiếp bình luận="defconf: chấp nhận ICMPv6" giao thức=icmpv6
thêm hành động=chấp nhận chuỗi=chuyển tiếp nhận xét="defconf: chấp nhận HIP" giao thức=139
thêm hành động=chấp nhận chuỗi=chuyển tiếp bình luận="defconf: chấp nhận IKE" dst-port=500,4500 giao thức=udp
thêm hành động=chấp nhận chuỗi=chuyển tiếp bình luận="defconf: chấp nhận ipsec AH" giao thức=ipsec-ah
thêm hành động=chấp nhận chuỗi=chuyển tiếp nhận xét="defconf: chấp nhận ipsec ESP" giao thức=ipsec-esp
thêm hành động=chấp nhận chuỗi=chuyển tiếp nhận xét="defconf: chấp nhận tất cả những gì phù hợp với chính sách ipsec" ipsec-policy=in,ipsec
thêm hành động=thả chuỗi=chuyển tiếp bình luận="defconf: loại bỏ mọi thứ khác không đến từ mạng LAN" trong danh sách giao diện=!LAN
/đồng hồ hệ thống
đặt tên múi giờ=Châu Phi/Johannesburg
/công cụ máy chủ mac
đặt allow-interface-list=LAN
/tool mac-server mac-winbox
đặt allow-interface-list=LAN