Chúng tôi đang chạy Ubuntu 20.04 trong AWS. Chúng tôi đang cố gắng thiết lập quy tắc iptables để mọi lưu lượng truy cập MySQL có địa chỉ IP giả sẽ được chuyển tiếp đến cơ sở dữ liệu MySql tại 172.31.6.173 trong cùng một VPC. Hãy để tôi giải thích:
Địa chỉ IP trong tác vụ này:
Máy chủ Ubuntu(nguồn): 172.31.0.151
Máy chủ MySql (đích): 172.31.6.173
MySql IP giả: 6.6.6.6
Từ 172.31.0.151 (nguồn), chúng tôi sẽ kết nối với mysql tại IP giả (6.6.6.6) và nó sẽ được NAT đến đích (172.31.6.173).
Các quy tắc chúng tôi đã sử dụng:
Sudo iptables -t nat -A PREROUTING -s 172.31.0.151 -d 6.6.6.6 -j DNAT --to-destination 172.31.6.173
sudo iptables -A FORWARD -p tcp -d 172.31.6.173 -j CHẤP NHẬN
Dòng đầu tiên chỉ định bất kỳ lưu lượng truy cập nào từ 172.31.0.151, với đích đến là 6.6.6.6, sẽ được chuyển tiếp đến 172.31.6.173
Dòng thứ hai chấp nhận chuyển tiếp tất cả tcp tới 172.31.6.173.
Đây là những quy tắc duy nhất trong iptables, nếu tôi chạy Sudo iptables -t nat -L
, kết quả là:
PREROUTING chuỗi (CHẤP NHẬN chính sách)
đích prot opt nguồn đích
DNAT tất cả -- 172.31.0.151 6.6.6.6 đến:172.31.6.173
ĐẦU VÀO chuỗi (chính sách CHẤP NHẬN)
đích prot opt nguồn đích
ĐẦU RA chuỗi (chính sách CHẤP NHẬN)
đích prot opt nguồn đích
Chuỗi POSTROUTING (CHẤP NHẬN chính sách)
đích prot opt nguồn đích
Tuy nhiên, với hai quy tắc này, từ máy chủ nguồn (172.31.0.151), khi tôi cố đăng nhập MySql tại IP giả:
mysql -h 6.6.6.6 -u tên người dùng -p
Đầu ra tcpdump: (máy chủ MySql là phiên bản RDS, nghĩa là tôi không thể đăng nhập để chạy tcpdump, vì vậy tôi chỉ có thể lấy tcpdump từ máy chủ nguồn):
13:41:41.768171 IP 172.31.0.151.50374 > 6.6.6.6.mysql: Flags [S], seq
3441229166, win 62727, tùy chọn [mss 8961,sackOK,TS val 2723434614 ecr
0,nop,wscale 7], độ dài 0
13:41:45.992114 IP 172.31.0.151.50374 > 6.6.6.6.mysql: Flags [S], seq
3441229166, win 62727, tùy chọn [mss 8961,sackOK,TS val 2723438838 ecr
0,nop,wscale 7], độ dài 0
13:41:54.184186 IP 172.31.0.151.50374 > 6.6.6.6.mysql: Flags [S], seq
3441229166, win 62727, tùy chọn [mss 8961,sackOK,TS val 2723447030 ecr
0,nop,wscale 7], độ dài 0
Quy tắc PREROUTING không có hiệu lực, nỗ lực đăng nhập vẫn đang tìm kiếm máy chủ tại 6.6.6.6, thay vì NAT'd với địa chỉ IP thực là 172.31.6.173.
Bất kỳ lời khuyên sẽ được đánh giá cao. Cảm ơn bạn.