Tôi đang cố gắng làm điều gì đó mà tôi chưa từng thử trước đây. Tôi có Dell PowerEdge 540 mà tôi đã cài đặt Ubuntu. Tôi đã cài đặt một dòng Comcast Business và có cấu hình mạng vật lý như sau:
Máy chủ Ubuntu 20.04.3 LTS
enp10s0f0: (10gb SFP+ Thẻ bổ sung)
IPv4: 5*.2*.204.214
Mạng con: 255.255.255.252
Cổng: 5*.2*.204.213
enp10s0f1: (Thẻ bổ sung 10gb SFP +)
IPv4: 5*.2*.205.1
Mạng con: 255.255.255.0
eno1: (ethernet đồng 1gb)
IPv4: 10.0.0.0
Mạng con: 255.0.0.0
Đây là đầu ra của đị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: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq trạng thái nhóm LÊN mặc định qlen 1000
liên kết/ether 00:1e:c9:b5:b2:3c brd ff:ff:ff:ff:ff:ff
inet 10.0.0.1/8 brd 10.255.255.255 phạm vi toàn cầu eno1
hợp lệ_lft mãi mãi ưa thích_lft mãi mãi
inet6 ****::***:c9ff:feb5:b23c/64 phạm vi liên kết
hợp lệ_lft mãi mãi ưa thích_lft mãi mãi
3: eno2: <BROADCAST,MULTICAST> mtu 1500 trạng thái qdisc noop DOWN nhóm mặc định qlen 1000
liên kết/ether 00:1e:c9:b5:b2:3e brd ff:ff:ff:ff:ff:ff
4: enp12s0: <BROADCAST,MULTICAST> mtu 1500 trạng thái qdisc noop DOWN nhóm mặc định qlen 1000
liên kết/ether 00:10:18:0d:a3:7e brd ff:ff:ff:ff:ff:ff
5: enp10s0f0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc trạng thái mq nhóm LÊN mặc định qlen 1000
liên kết/ether f4:e9:d4:92:9d:d0 brd ff:ff:ff:ff:ff:ff
inet 5*.2*.204.214/30 brd 5*.2*.204.215 phạm vi toàn cầu enp10s0f0
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::f6e9:d4ff:fe92:9dd0/64
hợp lệ_lft mãi mãi ưa thích_lft mãi mãi
6: enp10s0f1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq trạng thái nhóm LÊN mặc định qlen 1000
liên kết/ether f4:e9:d4:92:9d:d2 brd ff:ff:ff:ff:ff:ff
inet 5*.2*.205.1/24 brd 5*.2*.205.255 phạm vi toàn cầu enp10s0f1
hợp lệ_lft mãi mãi ưa thích_lft mãi mãi
liên kết phạm vi inet6 ****::****:d4ff:fe92:9dd2/64
hợp lệ_lft mãi mãi ưa thích_lft mãi mãi
Tôi đã cấu hình các tuyến ip sau:
mặc định qua 5*.2*.204.213 dev enp10s0f0 proto tĩnh
10.0.0.0/8 dev eno1 liên kết phạm vi kernel proto src 10.0.0.1
5*.2*.204.212/30 dev enp10s0f0 liên kết phạm vi kernel proto src 5*.2*.204.214
5*.2*.205.0/24 dev enp10s0f1 liên kết phạm vi kernel proto src 5*.2*.205.1
Và những điều sau đây được lưu trong tôi /etc/rc.local tập tin:
#!/bin/sh -e
iptables --flush
iptables --table nat --flush
iptables --delete-chain
iptables --table nat --delete-chain
iptables -F
iptables -X
###################### Kích hoạt Nat ########################## ##
sudo echo "1" > /proc/sys/net/ipv4/ip_forward
#################### Bật Nat cho nội bộ ########################## #
iptables -t nat -A POSTROUTING -o enp10s0f0 -j MASQUERADE
#iptables -t nat -A POSTROUTING -o enp12s0f1 -j MASQUERADE
################### Bật nhật ký ########################
#iptables -A OUTPUT -j LOG
#iptables -A INPUT -j LOG
#iptables -A FORWARD -j LOG
############# Cho phép theo mặc định #####################
iptables -P CHẤP NHẬN ĐẦU VÀO
iptables -P CHẤP NHẬN ĐẦU RA
iptables -P CHẤP NHẬN VỀ PHÍA TRƯỚC
############################ Cho phép kết nối đến ################### #########
iptables -A INPUT -m conntrack --ctstate "ĐÃ THÀNH LẬP, LIÊN QUAN" -j CHẤP NHẬN
################################# Cho phép kết nối ra ngoài ############# #########
iptables -A OUTPUT -m conntrack --ctstate THÀNH LẬP -j CHẤP NHẬN
######################## cho phép từ bên trong ra bên ngoài
iptables -A FORWARD -i eno1 -m trạng thái "ĐÃ THÀNH LẬP,LIÊN QUAN" -j CHẤP NHẬN
#iptables -A FORWARD -i eno1 -o enp12s0f1 -m trạng thái "ĐÃ THÀNH LẬP,LIÊN QUAN" -j CHẤP NHẬN
###iptables -A CHUYỂN ĐI -i eno1 -o enp10s0f1 -j CHẤP NHẬN
iptables -A FORWARD -i eno1 -o enp10s0f1 -j CHẤP NHẬN
#iptables -A CHUYỂN ĐI -i eno1 -o enp12s0f0 -j CHẤP NHẬN
#iptables -A CHUYỂN ĐI -i enp10s0f1 -o enp10s0f0 -j CHẤP NHẬN
#iptables -A CHUYỂN ĐI -i enp10s0f0 -o enp12s0f1 -j CHẤP NHẬN
thoát 0
Sơ đồ mạng:
Như bạn có thể nhận thấy, tôi đã dành rất nhiều thời gian để đọc trực tuyến cách tốt nhất để tiếp cận vấn đề này là gì và phần lớn điều này đã được bình luận. Theo cách tôi hình dung, tôi chỉ cần NAT trên eno1 giao diện. Nhưng, vì nó là linux, tôi có cần iptables để thực hiện định tuyến không NAT? Tôi đã thử vô hiệu hóa nó và mạng công cộng hoàn toàn không hoạt động.
Ngay cả khi tôi làm một thứ hoạt động, cuối cùng nó lại làm hỏng thứ khác. Đã nhiều năm kể từ khi tôi tham gia một lớp học của Cisco và tôi không quen với cảm giác ngu dốt như vậy. Tôi thực sự hy vọng ai đó có thể giúp tôi tìm ra cách tốt nhất để triển khai điều này hoặc có thể phát hiện ra bất kỳ sai sót nào mà tôi đã thực hiện gây ra lỗi.