Đối với trường hợp này, theo dõi's NAT là đủ để thay đổi, gắn thẻ và xử lý lưu lượng phản hồi một cách chính xác cho kết nối. Người ta có thể sử dụng cả DNAT và SNAT và liên kết việc sử dụng chúng lại với nhau hoặc sử dụng kết hợp DNAT và các tuyến thích hợp.
ADNT
Mục tiêu này chỉ có giá trị trong bảng nat, trong ĐẶT TRƯỚC
và
ĐẦU RA
chuỗi và chuỗi do người dùng xác định chỉ được gọi từ
những chuỗi đó. Nó xác định rằng địa chỉ đích của gói tin
nên được sửa đổi (và tất cả các gói trong tương lai trong kết nối này sẽ
cũng bị xáo trộn), và các quy tắc nên ngừng được kiểm tra. […]
SNAT
Mục tiêu này chỉ hợp lệ trong bảng nat, bên trong SAU ĐƯỜNG
và
ĐẦU VÀO
chuỗi và chuỗi do người dùng xác định chỉ được gọi từ các chuỗi đó
xiềng xích. Nó chỉ định rằng địa chỉ nguồn của gói phải là
sửa đổi (và tất cả các gói trong tương lai trong kết nối này cũng sẽ được
lộn xộn), và các quy tắc nên ngừng được kiểm tra. […]
iptables -t nat -A OUTPUT -d 192.168.1.11 -j DNAT --to-destination 192.168.1.10
iptables -t nat -A OUTPUT -d 192.168.1.12 -j DNAT --to-destination 192.168.1.10
iptables -t nat -A OUTPUT -d 192.168.1.13 -j DNAT --to-destination 192.168.1.10
iptables -t nat -A OUTPUT -d 192.168.1.14 -j DNAT --to-destination 192.168.1.10
đặt địa chỉ nguồn bổ sung trên máy khách:
địa chỉ ip add 192.168.1.21/24 dev enp2s0
địa chỉ ip add 192.168.1.22/24 dev enp2s0
địa chỉ ip add 192.168.1.23/24 dev enp2s0
địa chỉ ip add 192.168.1.24/24 dev enp2s0
và liên kết hành động SNAT một cách có điều kiện với ban đầu địa chỉ đích (trước khi DNAT được thực hiện), sử dụng bộ lọc thích hợp với iptables' theo dõi
trận đấu:
iptables -t nat -A POSTROUTING -m conntrack --ctorigdst 192.168.1.11 -j SNAT --to-source 192.168.1.21
iptables -t nat -A POSTROUTING -m conntrack --ctorigdst 192.168.1.12 -j SNAT --to-source 192.168.1.22
iptables -t nat -A POSTROUTING -m conntrack --ctorigdst 192.168.1.13 -j SNAT --to-source 192.168.1.23
iptables -t nat -A POSTROUTING -m conntrack --ctorigdst 192.168.1.14 -j SNAT --to-source 192.168.1.24
hoặc thay vì SNAT, gọn gàng hơn nhiều, hãy sử dụng tuyến đường gợi ý trực tiếp địa chỉ nguồn dự định cho từng đích (ngay cả khi nat/OUTPUT định tuyến lại, địa chỉ nguồn sẽ không thay đổi nữa sau khi được đặt). Điều này sẽ cho phép khách hàng và ss -tn dport == 48898
để biết và hiển thị đúng địa chỉ nguồn.Điều này trở thành:
tuyến ip thêm 192.168.1.11/32 dev enp2s0 src 192.168.1.21
tuyến ip thêm 192.168.1.12/32 dev enp2s0 src 192.168.1.22
tuyến ip thêm 192.168.1.13/32 dev enp2s0 src 192.168.1.23
tuyến ip thêm 192.168.1.14/32 dev enp2s0 src 192.168.1.24
Điều này phải được thực hiện như sau: một địa chỉ tại một thời điểm (DNAT có thể được đơn giản hóa/nhân tố hóa, nhưng không phải là phần thứ hai xử lý nguồn).
Một kết nối với thực tế 192.168.1.10
địa chỉ được giữ nguyên.