Делаю федору роутер и днс. Я никогда не делал более сложных сетей, но теперь мне нужно это сделать, однако ни одно из найденных мной руководств по маршрутизаторам, похоже, не работает для меня. Я удалил все и начал несколько раз на простейшей конфигурации, пока безуспешно. Это моя упрощенная сеть:
fedora router and dns
||192.168.122.1 --- virbr0 --------------- virbr0-guest 192.168.122.x
||10.0.0.53 ----- enp4s0f2 -- tplink ---- tplink-guest 10.0.0.x
|| 10.0.0.1
||192.168.8.53 ---- wlp3s0 ---- wifi ---- internet
192.168.8.1
Я попробовал пинги на всех устройствах и получил следующие результаты:
Fedora может пинговать что угодно, а DNS работает на всех устройствах
KVM на virbr0, может получить доступ к Интернету и проверить все
tplink-гость может пинговать шляпа и вай-фай, также может пинговать интернет-хосты, но не может получить к ним доступ через браузер
Вот конфигурация firewalld и маршрутизатора:
[root@fedora ~]# firewall-cmd --list-all --zone
externalexternal (active)
target: default
icmp-block-inversion: no
interfaces: enp4s0f2
sources:
services: ssh dns dhcp http https
ports:
protocols:
masquerade: yes
forward-ports:
source-ports:
icmp-blocks:
rich rules:
[root@fedora ~]# firewall-cmd --list-all --zone public
public (active)
target: default
icmp-block-inversion: no
interfaces: wlp3s0
sources:
services: ssh mdns dhcpv6-client http kde-connect iscsi-target https
ports: 8140/tcp 8140/udp
protocols:
masquerade: yes
forward-ports:
source-ports:
icmp-blocks:
rich rules:
[root@fedora ~]# cat /etc/firewalld/direct.xml
<?xml version="1.0" encoding="utf-8"?>
<direct>
<passthrough ipv="ipv4">-t nat -I POSTROUTING -o enp4s0f2 -j MASQUERADE -s 10.0.0.0/24</passthrough>
</direct>
[root@fedora network-scripts]# ip route
default via 192.168.8.1 dev wlp3s0 proto static metric 600
10.0.0.0/24 dev enp4s0f2 proto kernel scope link src 10.0.0.53 metric 100
192.168.8.0/24 dev wlp3s0 proto kernel scope link src 192.168.8.100 metric 600
192.168.122.0/24 dev virbr0 proto kernel scope link src 192.168.122.1
[root@fedora ~]# cat /etc/sysctl.d/10-dns.conf
net.ipv4.ip_forward = 1
net.ipv4.conf.all.proxy_arp = 1
[root@fedora ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp4s0f2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 30:85:a9:18:43:bb brd ff:ff:ff:ff:ff:ff
inet 10.0.0.53/24 brd 10.0.0.255 scope global enp4s0f2
valid_lft forever preferred_lft forever
inet6 fe80::6ef4:35db:3466:842b/64 scope link
valid_lft forever preferred_lft forever
3: wlp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 68:5d:43:ae:24:37 brd ff:ff:ff:ff:ff:ff
inet 192.168.8.100/24 brd 192.168.8.255 scope global wlp3s0
valid_lft forever preferred_lft forever
inet 192.168.8.53/24 brd 192.168.8.255 scope global secondary wlp3s0
valid_lft forever preferred_lft forever
inet6 fe80::9132:115e:2da1:a084/64 scope link
valid_lft forever preferred_lft forever
4: virbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 52:54:00:eb:66:fb brd ff:ff:ff:ff:ff:ff
inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
valid_lft forever preferred_lft forever
5: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc fq_codel master virbr0 state DOWN group default qlen 1000
link/ether 52:54:00:eb:66:fb brd ff:ff:ff:ff:ff:ff
И конфигурация tplink:
IP: 10.0.0.1
Subnet mask: 255.255.255.0
Default gateway: 10.0.0.53
DNS: 10.0.0.53
Мне нужно предоставить общий доступ к Интернету, файлам и серверам между virbr0 и tplink, но я застрял на этом 3-й день. Я думаю, что это лучший подход из всего, что я пробовал, но, возможно, есть способ лучше. Так я что-то сделал не так или что-то упустил?
РЕДАКТИРОВАТЬ: Поэтому я попробовал изучить сеть вместо поиска в Google, внес несколько изменений и приблизился к желаемому результату. Что я изменил:
Отключить DHCP на маршрутизаторе tplink и установить DHCP на маршрутизаторе Fedora
[root @ fedora ~] # cat /etc/dhcp/dhcpd.conf
время аренды по умолчанию 600;
max-lease-time 7200;
опция маска подсети 255.255.255.0;
опция широковещательного адреса 10.0.0.255;
опция роутеры 10.0.0.53;
option domain-name-servers 10.0.0.53;
подсеть 10.0.0.0 netmask 255.255.255.0 {
диапазон 10.0.0.110 10.0.0.254;
}
Это сделано все работает, но одна вещь. Tplink-гости не могут получить доступ virbr0-гости, но они можно пинговать их и на этот раз даже трассировка их.
Я также заметил одну странную вещь при доступе к виртуальным хостам apache. Я по-прежнему получаю сообщение об отказе в соединении, однако когда я перехожу на host.example, он открывается http: //host.example, но когда я перехожу к ssl.example, он перенаправляет меня на https: //ssl.example так что я каким-то образом получаю информацию о перенаправление на https из апача. Я не могу придумать ничего, что могло бы вызвать это или как мне продолжить.