Tôi đã bắt đầu autossh của mình với thời gian bình chọn là 30 giây:
AUTOSSH_POLL=30 AUTOSSH_LOGLEVEL=7 autossh -M 0 -f -S none -f -N -L localhost:34567:localhost:6543 user1@server1
Và nó hoạt động tốt:
Sep 5 12:26:44 serverA autossh[20935]: check on child 23084
Sep 5 12:26:44 serverA autossh[20935]: set alarm for 30 secs
Nhưng nếu tôi gỡ bỏ cáp mạng một cách vật lý, có nghĩa là đường hầm không thể hoạt động được nữa, autossh sẽ không giết semon daemon. Tại sao? Tôi hiểu rằng autossh không thể làm bất cứ điều gì nếu liên kết không hoạt động, nhưng theo tôi nên cố gắng làm như sau:
- Xác minh quá trình ssh con (
check on child ...
) - Xác nhận cuối cùng !!! (một hoạt động giống như ping thông qua đường hầm)
- Nhận ra rằng đường hầm bị sập
- Dừng quá trình ssh
- Cố gắng tạo lại đường hầm
- Nhận ra rằng nó không hoạt động và thiết lập bộ hẹn giờ (tăng theo cấp số nhân?) Để sớm kiểm tra lại
Đó là lý do tại sao tôi đang chạy autossh: nếu có gì đó xảy ra với đường hầm (có thể là sự cố phần mềm hoặc phần cứng), thì nên thử khởi động lại nó. Thay vào đó, nó chỉ chờ quá trình ssh chết. Không nên cố gắng khởi động lại nó, ngay cả khi không có hy vọng thiết lập lại kết nối?
Những loại kiểm tra đang làm autossh? Chỉ cần xác minh rằng các ssh là lên và chạy? Nó không làm bất kỳ loại kiểm tra xa?
Biên tập
Theo yêu cầu, tôi thêm phần có liên quan của cấu hình ssh:
# (see http://aaroncrane.co.uk/2008/04/ssh_faster)
# The ServerAliveInterval tells SSH to send a keepalive message every 60 seconds while the connection is open;
# that both helps poor-quality NAT routers understand that the NAT table entry for your connection should
# be kept alive, and helps SSH detect when there’s a network problem between the server and client.
ServerAliveInterval 60
# The ServerAliveCountMax says that after 60 consecutive unanswered keepalive messages, the connection should
# be dropped. At that point, AutoSSH should try to invoke a fresh SSH client. You can tweak those
# specific values if you want, but they seem to work well for me.
ServerAliveCountMax 60
TCPKeepAlive yes
dev tun
cả hai và cài đặt remote
trong cấu hình máy khách. Điều khó chịu duy nhất là quản lý các chứng chỉ. Chúng tôi sử dụng CA 'easy-rsa' đi kèm với OpenVPN. Một khi bạn có chứng chỉ, phần còn lại là dễ dàng.