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


38

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

Chạy ifconfigchương trình Tôi có một giao diện mạng mới tun0với một địa chỉ IP nhất định.

Câu hỏi: Làm cách nào để tôi sshchỉ sử dụng giao diện mạng tun0để tôi có thể truy cập các 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

Bạn có thể giải thích về cấu hình mạng của bạn? Với định tuyến thích hợp tại chỗ, mọi lưu lượng truy cập dành cho mạng được gắn vào tun0 sẽ sử dụng giao diện đó.
Eli Heady

Câu trả lời:


45

Đây không phải là máy khách ssh quyết định thông qua các gói TCP giao diện nào, đó là kernel. Nói 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 nào 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 với các lệnh lộ trình -n và / hoặc ip .

OpenConnect nên đã thêm một dòng cho tun0giao 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 -ntrê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 (nghĩa là địa chỉ 192.168.122.0 đến 192.168.122.255 theo 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 eth0và mọi thứ khác (dòng 0.0.0.0) sẽ được chuyển qua eth0 đến máy chủ cổng 10.30.0.1.


Cảm ơn đã làm rõ điều này cho tôi - có vẻ như openconnectđã không thêm một dòng cho tun0giao diện. Tôi cho rằng tôi nên làm điều này bằng tay.
axel22

1
@ axel22 Bạn có thể xem tại đây: bbs.archlinux.org/viewtopic.php?id=69064 cho một tập lệnh sử dụng openconnect và thiết lập các tuyến.
Riccardo Murri

@RiccardoMurri Bạn có muốn trả lời câu hỏi của tôi không
Rahul Gautam

7

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.


Ngoài ra, -Bcờ, xuất hiện để cho phép chỉ định tên của giao diện mạng sẽ sử dụng.
Henrik

Tùy chọn -b bind_addressnày không làm việc cho tôi, bằng cách nào đó. Thay đổi tuyến đường tạm thời nên làm việc. BTW: -BTùy chọn không tồn tại trên phiên bản SSH đi kèm với Ubuntu.
Giăng

2

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ả hai 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 một hộp tổ hợp với tùy chọn VPN và sau đó là 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.


1

Chỉ cần thêm một câu trả lời. Bạn có thể sử dụng -bcờ và xác định IP nguồn của mình 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 
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.