我正在制作 Fedora 路由器和 DNS。我从未做过任何复杂的网络,但现在我需要这样做,但是我找到的所有路由器指南似乎都不适合我。我删除了所有内容,并在最简单的配置上重新开始了几次,但到目前为止没有成功。这是我的简化网络:
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
我尝试对所有设备执行 ping 操作,结果如下:
Fedora 可以 ping 任何内容,并且 DNS 在所有设备上正常运行
KVM 开启virbr0,可以访问互联网并 ping 所有内容
tplink-guest 可以 ping 通Fedora 系统和无线上网,也可以 ping 互联网主机,但无法通过浏览器访问它们
以下是防火墙和路由器的配置:
[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 之间共享互联网访问、文件和服务器,但第三天我还是卡住了。我认为这是我尝试过的所有方法中最好的,但也许还有更好的方法。那么我做错了什么还是我遗漏了什么?
编辑: 因此,我尝试学习网络而不是谷歌搜索,做了一些改变,更接近期望的结果。我改变的事情:
- 修改路线和防火墙
在 tplink 路由器上禁用 DHCP,并在 fedora 路由器上设置 DHCP
[root@fedora ~]# cat /etc/dhcp/dhcpd.conf
默认租用时间 600;
最大租用时间 7200;
选项子网掩码 255.255.255.0;
选项广播地址 10.0.0.255;
选项路由器 10.0.0.53;
选项域名服务器 10.0.0.53; 子网 10.0.0.0 网络掩码
255.255.255.0 {
范围 10.0.0.110 10.0.0.254;
}
这个使一切正常,但是一件事。Tplink-访客无法访问virbr0-guests,但他们可以 ping他们,甚至这一次路由追踪他们。
访问 Apache 虚拟主机时,我还注意到一件奇怪的事情。我仍然收到拒绝连接错误,但是当我转到 host.example 时,它会打开http://host.example,但是当我转到 ssl.example 时,它将我重定向到https://ssl.example 所以我以某种方式获得了有关重定向到 https来自 apache。我想不出是什么原因导致此问题,或者我该如何继续。