Tôi gặp sự cố với đường hầm và đang gặp khó khăn trong việc tìm ra giải pháp. Tôi có hai máy chủ, A: Máy chủ lưu trữ là máy chủ có một IP duy nhất và B: Máy chủ chính là máy chủ xử lý tất cả các ứng dụng của chúng tôi.
Tôi đã thiết lập đường hầm GRE tốt, nhưng đối với ứng dụng cần có IP máy chủ (A) ( 192.168.0.1 ) trên máy chủ (B) Eth0 để ứng dụng có thể sử dụng IP làm IP của riêng mình (đây là điều bắt buộc). Tuy nhiên, khi tôi cố gắng thêm (A) IP vào (B) tôi tin rằng một vòng lặp định tuyến đang xảy ra và tôi không thể tìm ra cách để lưu lượng truy cập lưu thông chính xác. Tôi đã thử một số PREROUTE và POSTROUTE trên iptabels nhưng không mấy thành công. Dưới đây là thiết lập tôi nhận được khi mọi thứ ngừng hoạt động.
Bất kỳ trợ giúp trong việc này sẽ được đánh giá rất cao!
Chi tiết:
Máy chủ A: Máy chủ:
IP công cộng: 192.168.0.1
IP đường hầm: 10.0.2.1
Máy chủ B: Chính:
IP công khai: 192.168.1.2
IP đường hầm: 10.0.2.2
Máy chủ A:
Thêm đường hầm
Đường hầm sudo ip thêm chế độ test_tunnel gre local 192.168.0.1 remote 192.168.1.2 ttl 255
Sudo ip addr add 10.0.2.1/30 dev test_tunnel
liên kết sudo ip thiết lập test_tunnel lên
sudo echo '101 test_tunnel_GRE' >> /etc/iproute2/rt_tables
/sbin/ip route thêm mặc định qua 10.0.2.2 bảng dev test_tunnel test_tunnel_GRE
/sbin/iptables -t nat -A POSTROUTING -s 10.0.2.0/30 ! -o gre+ -j SNAT --to-source 192.168.0.1
/sbin/iptables -A FORWARD -d 10.0.2.2 -m state --state MỚI,ĐÃ THÀNH LẬP,LIÊN QUAN -j CHẤP NHẬN
/sbin/iptables -A FORWARD -s 10.0.2.2 -m state --state MỚI,ĐÃ THÀNH LẬP,LIÊN QUAN -j CHẤP NHẬN
Kiểm tra IP đường hầm để ping và xem có phản hồi không (Hoạt động).
root@A:~# ping -c4 10.0.2.2
PING 10.0.2.2 (10.0.2.2) 56(84) byte dữ liệu.
64 byte từ 10.0.2.2: icmp_seq=1 ttl=64 time=50,6 ms
64 byte từ 10.0.2.2: icmp_seq=2 ttl=64 time=49,6 ms
64 byte từ 10.0.2.2: icmp_seq=3 ttl=64 time=49,7 ms
64 byte từ 10.0.2.2: icmp_seq=4 ttl=64 time=49,7 ms
--- 10.0.2.2 thống kê ping ---
Truyền 4 gói, nhận 4 gói, mất gói 0%, thời gian 3005ms
rtt tối thiểu/trung bình/tối đa/mdev = 49,636/49,945/50,651/0,439 mili giây
Test trên Server sẽ thấy Tunnel Server IP: (Works)
root@A:~# curl http://www.cpanel.net/showip.cgi --interface 10.0.2.1
192.168.0.1
Máy chủ B:
Thêm đường hầm
Đường hầm sudo ip thêm chế độ test_tunnel gre local 192.168.1.2 remote 192.168.0.1 ttl 255
Sudo ip addr add 10.0.2.2/30 dev test_tunnel
liên kết sudo ip thiết lập test_tunnel lên
sudo echo '101 test_tunnel_GRE' >> /etc/iproute2/rt_tables
/sbin/ip thêm quy tắc từ bảng 10.0.2.0/30 test_tunnel_GRE
/sbin/ip route thêm mặc định qua 10.0.2.1 bảng dev test_tunnel test_tunnel_GRE
Kiểm tra IP đường hầm để ping và xem có phản hồi không (Hoạt động).
[root@B~]# ping -c4 10.0.2.1
PING 10.0.2.1 (10.0.2.1) 56(84) byte dữ liệu.
64 byte từ 10.0.2.1: icmp_seq=1 ttl=64 time=51,7 ms
64 byte từ 10.0.2.1: icmp_seq=2 ttl=64 time=50,0 ms
64 byte từ 10.0.2.1: icmp_seq=3 ttl=64 time=50,0 ms
64 byte từ 10.0.2.1: icmp_seq=4 ttl=64 time=50,0 ms
--- Thống kê ping 10.0.2.1 ---
Truyền 4 gói, nhận 4 gói, mất gói 0%, thời gian 3054ms
rtt tối thiểu/trung bình/tối đa/mdev = 50,023/50,458/51,721/0,746 ms
Test trên Server sẽ thấy Tunnel Server IP: (Works)
[root@B~]# curl http://www.cpanel.net/showip.cgi --interface 10.0.2.2
192.168.0.1
Đây là nơi nó phá vỡ:
Thêm IP vào eth0:
ip a a 192.168.0.1/32 dev eth0
/sbin/ip thêm quy tắc từ bảng 192.168.0.1 test_tunnel_GRE
VỠ
Bây giờ mọi thứ đều bị hỏng ở cả hai đầu, trên cả hai máy chủ ping và curl đều không phản hồi.
Tôi đánh giá cao bất kỳ thông tin nào có thể giúp tôi giải quyết vấn đề này!