it-swarm-vi.com

Sử dụng ssh với giao diện mạng cụ thể

Tôi đang sử dụng openconnect để kết nối với vpn. Sau khi nhập thông tin đăng nhập của tôi, tôi nhận được điều này:

POST https://domain.name/...
Got CONNECT response: HTTP/1.1 200 OK
CSTP connected. DPD 30, Keepalive 30
Connected tun0 as xxx.xxx.xxx.xxx, using SSL
Established DTLS connection

Đang chạy ifconfig cho thấy tôi có giao diện mạng mới tun0 với một địa chỉ IP nhất định.

Câu hỏi: Làm cách nào để tôi tạo ssh chỉ sử dụng giao diện mạng tun0 để tôi có thể truy cập máy tính trên mạng riêng đó?

Chỉnh sửa :

Cấu hình mạng của tôi (route -n) dường như là thế này:

172.16.194.0    0.0.0.0         255.255.255.0   U     0      0        0 vmnet8
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
172.16.25.0     0.0.0.0         255.255.255.0   U     0      0        0 vmnet1
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 eth0
0.0.0.0         192.168.0.1     0.0.0.0         UG    100    0        0 eth0
39
axel22

Không phải máy khách ssh quyết định thông qua giao diện nào TCP nên đi, đó là kernel. Tóm lại, SSH yêu cầu kernel mở kết nối đến một địa chỉ IP nhất định và kernel quyết định giao diện sẽ được sử dụng bằng cách tham khảo các bảng định tuyến.

(Các giả định sau đây bạn sử dụng GNU/Linux; khái niệm chung là giống nhau cho tất cả các Thông báo, nhưng chi tiết cụ thể của các lệnh sẽ chạy và cách định dạng đầu ra có thể khác nhau.)

Bạn có thể hiển thị các bảng định tuyến kernel bằng các lệnh route -n và/hoặc ip route show .

OpenConnect nên đã thêm một dòng cho tun0 giao diện; các kết nối đến bất kỳ địa chỉ nào khớp với dòng đó sẽ được định tuyến qua giao diện đó. Ví dụ: chạy route -n trên máy tính xách tay của tôi, tôi nhận được đầu ra sau:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.30.0.1       0.0.0.0         UG    0      0        0 eth0
10.30.0.0       0.0.0.0         255.255.255.0   U     1      0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 eth0
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0

Điều này có nghĩa là các kết nối đến máy chủ trong mạng 192.168.122.0/24 (tức là, địa chỉ 192.168.122.0 đến 192.168.122.255 theo mạng ký hiệu CIDR ) sẽ được định tuyến qua giao diện virbr0; những người đến 169.254.0.0/16 và 10.30.0.0/24 sẽ đi qua eth0 và mọi thứ khác (dòng 0.0.0.0) sẽ được định tuyến qua eth0 đến máy chủ cổng 10.30.0.1.

46
Riccardo Murri

Tôi không biết khi nào nó được giới thiệu nhưng ứng dụng khách OpenSSH trên RHEL7 có cái này trong trang của nó:

 -b bind_address
         Use bind_address on the local machine as the source address of the connection.  Only useful on systems with more than one address.

Không tốt như có thể chọn giao diện, nhưng đóng.

11
ugob

Nếu bạn đang sử dụng Trình quản lý mạng để quản lý các kết nối internet của mình (như trình quản lý mặc định trên nhiều hệ thống), bạn có thể muốn cài đặt cả openconnectnetwork-manager-openconnect.

Khi plugin OpenConnect được cài đặt cho Trình quản lý mạng, hãy mở Trình quản lý mạng và nhấp vào + biểu tượng ở phía dưới bên trái. Bạn sẽ được cung cấp hộp tổ hợp với tùy chọn [~ # ~] vpn [~ # ~] và sau đó khả năng chọn VPN tương thích OpenConnect.

Bằng cách sử dụng Trình quản lý mạng để giao diện với OpenConnect, các tuyến của bạn sẽ tự động xuất hiện và giúp bạn kết nối với VPN. Điều này đặc biệt hữu ích để truy cập các máy chủ qua VPN, chẳng hạn như cách Firehost thực hiện mọi việc.

2
earthmeLon

Chỉ cần thêm một câu trả lời. Bạn có thể dùng -b gắn cờ và xác định IP nguồn của bạn tại thời điểm truy cập.

Định dạng + Ví dụ

ssh -b interface-ip remote-ip
ssh -b 10.11.22.40 10.11.22.38 
2
Shafiq