Я пытаюсь сделать то, что никогда не пробовал раньше. У меня есть Dell PowerEdge 540, на котором я установил Ubuntu. У меня установлена линейка Comcast Business, и у меня следующая конфигурация физической сети:
Сервер Ubuntu 20.04.3 ЛТС
enp10s0f0: (дополнительная карта SFP+ 10 ГБ)
IPv4: 5*.2*.204.214
Подсеть: 255.255.255.252
Шлюз: 5*.2*.204.213
enp10s0f1: (дополнительная карта SFP+ 10 ГБ)
IPv4: 5*.2*.205.1
Подсеть: 255.255.255.0
eno1: (1 ГБ медного Ethernet)
IPv4: 10.0.0.0
Подсеть: 255.0.0.0
Это результат IP-адрес:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
ссылка/петля 00:00:00:00:00:00 брд 00:00:00:00:00:00
инет 127.0.0.1/8 область хоста lo
valid_lft навсегда
inet6 :: 1/128 узел области видимости
valid_lft навсегда
2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
ссылка/эфир 00:1e:c9:b5:b2:3c brd ff:ff:ff:ff:ff:ff
inet 10.0.0.1/8 brd 10.255.255.255 глобальная область действия eno1
valid_lft навсегда
inet6 ****::***:c9ff:feb5:b23c/64 ссылка на объем
valid_lft навсегда
3: eno2: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
ссылка/эфир 00:1e:c9:b5:b2:3e brd ff:ff:ff:ff:ff:ff
4: enp12s0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
ссылка/эфир 00:10:18:0d:a3:7e brd ff:ff:ff:ff:ff:ff
5: enp10s0f0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
ссылка/эфир f4:e9:d4:92:9d:d0 brd ff:ff:ff:ff:ff:ff
inet 5*.2*.204.214/30 brd 5*.2*.204.215 область глобальная enp10s0f0
valid_lft навсегда
ссылка на область inet6 fe80::f6e9:d4ff:fe92:9dd0/64
valid_lft навсегда
6: enp10s0f1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
ссылка/эфир f4:e9:d4:92:9d:d2 brd ff:ff:ff:ff:ff:ff
inet 5*.2*.205.1/24 brd 5*.2*.205.255 глобальная область enp10s0f1
valid_lft навсегда
inet6 ****::****:d4ff:fe92:9dd2/64 ссылка на объем
valid_lft навсегда
У меня настроены следующие ip-маршруты:
по умолчанию через 5*.2*.204.213 dev enp10s0f0 proto static
10.0.0.0/8 dev eno1 ссылка на область ядра proto src 10.0.0.1
5*.2*.204.212/30 dev enp10s0f0 прото-ссылка на область ядра src 5*.2*.204.214
5*.2*.205.0/24 dev enp10s0f1 прото-ссылка на область ядра src 5*.2*.205.1
И следующее сохранено в моем /etc/rc.local файл:
#!/бин/ш -е
iptables --flush
iptables --table nat --flush
iptables --удалить-цепочку
iptables --table nat --delete-chain
iptables-F
iptables -X
####################### Включить Nat ########################### ##
sudo эхо "1" > /proc/sys/net/ipv4/ip_forward
#################### Включить Nat для внутреннего ########################### #
iptables -t nat -A POSTROUTING -o enp10s0f0 -j MASQUERADE
#iptables -t nat -A POSTROUTING -o enp12s0f1 -j MASQUERADE
################### Включить журнал #########################
#iptables -A ВЫВОД -j ЖУРНАЛ
#iptables -A ВВОД -j ЖУРНАЛ
#iptables -A ВПЕРЕД -j ЖУРНАЛ
############# Разрешить по умолчанию ######################
iptables -P ВВОД ПРИНЯТЬ
iptables -P ВЫВОД ПРИНЯТЬ
iptables -P ПЕРЕДАТЬ ПРИНЯТЬ
############################ Разрешить входящие соединения #################### #########
iptables -A INPUT -m conntrack --ctstate "УСТАНОВЛЕНО, СВЯЗАННО" -j ПРИНЯТЬ
################################## Разрешить исходящие соединения ############## #########
iptables -A ВЫВОД -m conntrack --ctstate УСТАНОВЛЕНО -j ПРИНЯТЬ
######################### разрешить внутреннее внешнее
iptables -A FORWARD -i eno1 -m состояние «УСТАНОВЛЕНО, СВЯЗАННО» -j ПРИНЯТЬ
#iptables -A FORWARD -i eno1 -o enp12s0f1 -m состояние "УСТАНОВЛЕНО,СВЯЗАННО" -j ПРИНЯТЬ
###iptables -A ВПЕРЕД -i eno1 -o enp10s0f1 -j ПРИНЯТЬ
iptables -A ВПЕРЕД -i eno1 -o enp10s0f1 -j ПРИНЯТЬ
#iptables -A ВПЕРЕД -i eno1 -o enp12s0f0 -j ПРИНЯТЬ
#iptables -A ВПЕРЕД -i enp10s0f1 -o enp10s0f0 -j ПРИНЯТЬ
#iptables -A ВПЕРЕД -i enp10s0f0 -o enp12s0f1 -j ПРИНЯТЬ
выход 0
Схема сети:
Как вы, вероятно, заметили, я провел много времени в Интернете, читая, как лучше всего подойти к этому, и многое из этого закомментировано. Насколько я понимаю, мне нужен только NAT на эно1 интерфейс. Но так как это Linux, мне нужно iptables сделать маршрутизацию без NAT? Я попытался отключить его, и общедоступная сеть вообще не работала.
Даже когда я заставляю что-то работать, это в конечном итоге ломает что-то другое. Прошли годы с тех пор, как я посещал курсы Cisco, и я не привык чувствовать себя таким невеждой. Я действительно надеюсь, что кто-то может помочь мне найти лучший способ реализовать это или, возможно, обнаружить любые ошибки, которые я сделал, которые вызывают ошибку.