Tôi có một máy chủ đang chạy Wireguard (do đó cần hóa trang
) và một container chạy trên cổng 2525.
tôi có những điều sau đây iptables
quy tắc:
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 25 -j DNAT --to-destination 172.18.0.1:2525
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Khi kết nối với máy chủ: 2525
trực tiếp, bộ chứa Docker có thể thấy địa chỉ IP thực của tôi (1.2.3.4
). Khi kết nối với cổng máy chủ: 25
, bộ chứa Docker đang nhìn thấy IP cục bộ được cung cấp bởi mạng docker
:
Ngày 07 tháng 4 12:45:46 mx postfix/smtpd[87]: mất kết nối sau khi CONNECT từ ẩn số[172.18.0.1]
Ngày 07 tháng 4 12:45:46 mx postfix/smtpd[87]: ngắt kết nối khỏi lệnh không xác định[172.18.0.1]=0/0
Làm cách nào để đảm bảo bộ chứa Docker nhìn đúng địa chỉ IP công cộng khi kết nối với cổng 25 (và không chỉ khi kết nối với cổng 2525).
Cảm ơn
# iptables -L -n -v -t nat
Chuỗi PREROUTING (chính sách CHẤP NHẬN 0 gói, 0 byte)
pkts byte đích prot chọn không tham gia đích nguồn
52300 3131K DNAT tcp -- eth0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:25 đến:172.18.0.1:2525
150K 8524K DOCKER tất cả -- * * 0.0.0.0/0 0.0.0.0/0 ADDRTYPE khớp với loại dst LOCAL
Chuỗi INPUT (chính sách CHẤP NHẬN 0 gói, 0 byte)
pkts byte đích prot chọn không tham gia đích nguồn
ĐẦU RA chuỗi (chính sách CHẤP NHẬN 0 gói, 0 byte)
pkts byte đích prot chọn không tham gia đích nguồn
2 120 DOCKER tất cả -- * * 0.0.0.0/0 !127.0.0.0/8 ADDRTYPE khớp kiểu dst LOCAL
Chuỗi POSTROUTING (chính sách CHẤP NHẬN 0 gói, 0 byte)
pkts byte đích prot chọn không tham gia đích nguồn
3385 256K MẶT MẠO tất cả -- * !docker0 172.17.0.0/16 0.0.0.0/0
1733K 104M MẶT MẠO tất cả -- * !br-b147ffdbc9f3 172.18.0.0/16 0.0.0.0/0
0 0 MASQUERADE tcp -- * * 172.17.0.2 172.17.0.2 tcp dpt:53
0 0 MASQUERADE udp -- * * 172.17.0.2 172.17.0.2 udp dpt:53
0 0 MASQUERADE tcp -- * * 172.18.0.2 172.18.0.2 tcp dpt:25
Chuỗi DOCKER (2 tài liệu tham khảo)
pkts byte đích prot chọn không tham gia đích nguồn
12 1419 TRẢ LẠI tất cả -- docker0 * 0.0.0.0/0 0.0.0.0/0
0 0 TRẢ LẠI tất cả -- br-b147ffdbc9f3 * 0.0.0.0/0 0.0.0.0/0
56 3192 DNAT tcp -- !docker0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:5354 tới:172.17.0.2:53
0 0 DNAT udp -- !docker0 * 0.0.0.0/0 0.0.0.0/0 udp dpt:5354 tới:172.17.0.2:53
107 6020 DNAT tcp -- !br-b147ffdbc9f3 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:2525 tới:172.18.0.2:25
# địa chỉ ip
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 trạng thái qdisc noqueue nhóm UNKNOWN mặc định qlen 1000
liên kết/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
máy chủ phạm vi inet 127.0.0.1/8 lo
hợp lệ_lft mãi mãi ưa thích_lft mãi mãi
inet6 ::1/128 máy chủ phạm vi
hợp lệ_lft mãi mãi ưa thích_lft mãi mãi
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast trạng thái UP nhóm mặc định qlen 1000
liên kết/ether 32:d0:56:15:0a:64 brd ff:ff:ff:ff:ff:ff
tên thay thế enp0s3
tên thay thế ens3
inet 159.223.80.86/20 brd 159.223.95.255 phạm vi toàn cầu eth0
hợp lệ_lft mãi mãi ưa thích_lft mãi mãi
inet 10.15.0.19/16 brd 10.15.255.255 phạm vi toàn cầu eth0:1
hợp lệ_lft mãi mãi ưa thích_lft mãi mãi
inet6 2400:6180:0:d0::f57:6001/64 phạm vi toàn cầu
hợp lệ_lft mãi mãi ưa thích_lft mãi mãi
liên kết phạm vi inet6 fe80::30d0:56ff:fe15:a64/64
hợp lệ_lft mãi mãi ưa thích_lft mãi mãi
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast trạng thái UP nhóm mặc định qlen 1000
liên kết/ether 32:dc:4a:e4:27:be brd ff:ff:ff:ff:ff:ff
tên thay thế enp0s4
tên thay thế ens4
inet 10.130.244.15/16 brd 10.130.255.255 phạm vi toàn cầu eth1
hợp lệ_lft mãi mãi ưa thích_lft mãi mãi
liên kết phạm vi inet6 fe80::30dc:4aff:fee4:27be/64
hợp lệ_lft mãi mãi ưa thích_lft mãi mãi
4: wg0: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1420 trạng thái qdisc noqueue nhóm UNKNOWN mặc định qlen 1000
liên kết/không có
inet 10.200.200.52/24 phạm vi toàn cầu wg0
hợp lệ_lft mãi mãi ưa thích_lft mãi mãi
5: wg1: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1420 trạng thái qdisc noqueue nhóm UNKNOWN mặc định qlen 1000
liên kết/không có
inet 10.222.111.1/24 phạm vi toàn cầu wg1
hợp lệ_lft mãi mãi ưa thích_lft mãi mãi
6: br-b147ffdbc9f3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 trạng thái qdisc noqueue nhóm LÊN mặc định
liên kết/ether 02:42:46:21:70:c0 brd ff:ff:ff:ff:ff:ff
inet 172.18.0.1/16 brd 172.18.255.255 phạm vi toàn cầu br-b147ffdbc9f3
hợp lệ_lft mãi mãi ưa thích_lft mãi mãi
liên kết phạm vi inet6 fe80::42:46ff:fe21:70c0/64
hợp lệ_lft mãi mãi ưa thích_lft mãi mãi
7: docker0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 trạng thái qdisc noqueue UP nhóm mặc định
liên kết/ether 02:42:66:22:41:91 brd ff:ff:ff:ff:ff:ff
inet 172.17.0.1/16 brd 172.17.255.255 phạm vi toàn cầu docker0
hợp lệ_lft mãi mãi ưa thích_lft mãi mãi
inet6 fe80::42:66ff:fe22:4191/64 liên kết phạm vi
hợp lệ_lft mãi mãi ưa thích_lft mãi mãi
9: veth31eff9d@if8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master docker0 trạng thái Nhóm UP mặc định
liên kết/ether e6:fb:80:5d:c7:a3 brd ff:ff:ff:ff:ff:ff link-netnsid 0
liên kết phạm vi inet6 fe80::e4fb:80ff:fe5d:c7a3/64
hợp lệ_lft mãi mãi ưa thích_lft mãi mãi
19: veth01269f5@if18: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-b147ffdbc9f3 trạng thái UP nhóm mặc định
liên kết/ether 36:f4:e7:43:5f:da brd ff:ff:ff:ff:ff:ff link-netnsid 2
liên kết phạm vi inet6 fe80::34f4:e7ff:fe43:5fda/64
hợp lệ_lft mãi mãi ưa thích_lft mãi mãi