Tôi có các phiên bản linux ec2 với hai nics (eth0 và eth2). Cả hai nics đều có ip công khai được đính kèm và có thể truy cập internet. Phiên bản linux này đang hoạt động như một nút cổng đối với tôi, chuyển tiếp lưu lượng truy cập từ ec2 trong các mạng con riêng tư không có quyền truy cập internet.
Có thể chuyển tiếp lưu lượng truy cập từ phiên bản ec2 trong mạng con riêng sang phiên bản cổng này trong mạng con công cộng. Tất cả lưu lượng truy cập trong phiên bản cổng được nhận trên eth0. Bây giờ tôi muốn có thể truy cập internet qua eth1 chứ không phải eth0. Tôi muốn làm như vậy vì tôi muốn thế giới bên ngoài coi IP của eth1 là IP nguồn.
Thực hiện các bước này giúp tôi đạt được điều này
tuyến ip thêm 10.0.0.0/23 <mạng con của cổng cidr> dev eth2 bảng 2
thêm quy tắc ip từ bảng <ip riêng của cá thể ec2> 2
tuyến ip thêm mặc định qua 10.0.0.1 dev eth2 bảng 2
ip xóa bộ nhớ cache
iptables -A FORWARD --in-interface eth0 -j ACCEPT #accepts lưu lượng truy cập trên eth0
iptables --table nat -A POSTROUTING --out-interface eth2 -j MASQUERADE #chuyển tiếp lưu lượng bên ngoài qua eth2
Với thiết lập này, khi tôi cuộn tròn bên ngoài phiên bản ec2 trong mạng con riêng tư (thông qua nút cổng), tôi thấy những gì tôi mong đợi thấy (đó là thế giới bên ngoài nhìn thấy yêu cầu đến từ ip của eth1), nhưng các yêu cầu cuộn tròn mất rất nhiều thời gian. thời gian dài (và đôi khi nó còn hết thời gian). Tôi sẽ nói khoảng 5 trong số 10 yêu cầu thành công.
Tôi đang thiếu gì ở đây?
Cảm ơn
Kay