Bộ định tuyến Ubuntu Linux: Đặt NAT ra ngoài trên 2 giao diện


7

Tôi đang thiết lập bộ định tuyến bằng Ubuntu 12.04. Tôi cần bộ định tuyến của mình định tuyến giữa modem internet của chúng tôi và mạng của khách hàng, nơi chúng tôi được cung cấp một địa chỉ IP.

Hộp có 3 giao diện:

  1. eth0 - cổng vào mạng của khách hàng. Cấu hình bằng IP tĩnh.
  2. eth1 - mạng LAN của chúng tôi. Được cấu hình là IP tĩnh 192.168.1.1 và phục vụ DHCP / DNS.
  3. eth2 - uplink đến modem bộ định tuyến 3G. Cấu hình như máy khách DHCP.

Giao diện / etc / mạng / của tôi trông như sau:

# The primary network interface
auto eth2
iface eth2 inet dhcp

# LAN point to our client's network
auto eth0
iface eth0 inet static
address 10.198.250.171
#gateway 10.198.0.4
netmask 255.255.0.0
network 10.198.0.0
broadcast 10.198.255.255
hwaddress ether 00:1E:EC:72:ED:92

# eth1 acts as our LAN's router IP
auto eth1
iface eth1 inet static
address 192.168.1.1
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255

Tôi đã cấu hình eth1 để phục vụ như DHCP và cấu hình NAT từ mạng LAN của tôi sang internet như sau trong /etc/rc.local:

# IP forwarding script from our LAN to internet
/sbin/iptables -P FORWARD ACCEPT
/sbin/iptables --table nat -A POSTROUTING -o eth2 -j MASQUERADE

Để truy cập mạng LAN của khách hàng của tôi (là mạng A lớp riêng), tôi đã định cấu hình tuyến tĩnh như sau:

up route add -net 10.0.0.0/8 gw 10.198.250.171 dev eth0

Cho đến nay, tôi có thể ping và truy cập mạng LAN của khách hàng từ chính bộ định tuyến, nhưng từ bất kỳ máy khách LAN nào của tôi, tôi không thể lấy bộ định tuyến để định tuyến đến mạng LAN của khách hàng.

Bất cứ ai có thể tư vấn những gì tôi cần phải làm gì? Tôi có cần đặt NAT ngoài cho cả eth0 và eth2 không?

Lời khuyên nào cũng đánh giá cao.


1
thực hiện cat /proc/sys/net/ipv4/conf/all/forwardingvà gửi kết quả. Nếu nó được đặt thành 0 thực thiecho 1 > /proc/sys/net/ipv4/conf/all/forwarding
Manula Waidyanatha

Tôi đã đặt nó thành 1 khi tôi đặt NAT ban đầu, cảm ơn.
dự đoán

Câu trả lời:


1

Tôi nghĩ vấn đề nằm ở việc nhận được phản hồi từ mạng LAN của máy khách, và vì vậy, bạn cũng cần phải sử dụng NAT cho mạng LAN của máy khách.

Hãy để tôi giải thích:

Các nút trên mạng LAN của bạn có cổng của bạn làm cổng mặc định của chúng.

Do đó, bất kỳ lưu lượng truy cập nào từ chúng, có thể đến mạng máy khách (10.0.0.0/8) hoặc thế giới rộng hơn (0.0.0.0/8) đi đến nó.

Lưu lượng truy cập đến thế giới rộng lớn hơn sau đó là NAT trên Internet.

Lưu lượng truy cập vào mạng LAN của khách hàng được chuyển tiếp như hiện tại (Tôi giả sử ở đây chuyển tiếp đang hoạt động mà NAT hoạt động cho biết nó đang hoạt động).

Vì vậy, một gói từ một nút trên mạng LAN nội bộ của bạn, giả sử IP của nó là 192.168.1.200 đi đến cổng của bạn và được chuyển tiếp đến mạng LAN của máy khách. Tuy nhiên, địa chỉ nguồn vẫn là 192.168.1.200.

Máy khách nhận được điều này và cố gắng trả lời, tới 192.168.1.200.

Trừ khi các máy LAN của máy khách có các tuyến được đặt cho 192.168.1.0/24 hoặc cổng mặc định của chúng có thể chuyển tiếp các gói đến cổng của bạn, chúng sẽ không thể định tuyến.

Khi NAT được kích hoạt tại cổng, địa chỉ nguồn 192.168.1.200 sẽ được NAT gửi đến địa chỉ cổng LAN khách của bạn, mà các nút LAN của máy khách có thể phản hồi, nơi nó sẽ được gửi lại bởi cổng của bạn và được trả về.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.