所以我有一个有4个接口的Linux机器:
我想要做的就是将WAN接口设置为enp1s0,并通过DHCP获取其IP地址,DNS和网关。
对于其他三个接口,我希望他们有:
这是我到目前为止:
猫/ etc / network / interfaces #此文件描述您的系统上可用的networking接口 #以及如何激活它们。 有关更多信息,请参阅接口(5)。 源/etc/network/interfaces.d/* #环回networking接口 汽车 iface lo inet loopback #主要networking接口 #列为#1 #这是wan界面 自动enp1s0 iface enp1s0 inet dhcp #列为#2 #这条路线到楼上 自动enp3s0 iface enp3s0 inet static 地址192.168.47.254 networking掩码255.255.255.0 networking192.168.47.0 广播192.168.47.255 #列为#4 自动enp2s0 iface enp2s0 inet static 地址192.168.47.253 networking掩码255.255.255.0 networking192.168.47.0 广播192.168.47.255 #列为#3 自动enp4s0 iface enp4s0 inet static 地址192.168.47.252 networking掩码255.255.255.0 networking192.168.47.0 广播192.168.47.255
cat /etc/dnsmasq.conf 接口= enp2s0 接口= enp3s0 接口= enp4s0 listen-address = 192.168.47.254#明确指定要监听的地址 绑定接口#绑定到接口,以确保我们不在其他地方发送东西 server = 8.8.8.8#将DNS请求转发给Google DNS 域名需要#不要转发短名称 bogus-priv#不要在非路由地址空间中转发地址。 dhcp-range = 192.168.47.100,192.168.47.250,12h#在192.168.46.100-250之间分配IP地址,租约时间为12小时 loginDHCP login查询
interface = enp2s0#使用接口wlan0 interface = enp3s0#使用接口wlan0 interface = enp4s0#使用接口wlan0 listen-address = 192.168.47.254#明确指定要监听的地址 绑定接口#绑定到接口,以确保我们不在其他地方发送东西 server = 8.8.8.8#将DNS请求转发给Google DNS 域名需要#不要转发短名称 bogus-priv#不要在非路由地址空间中转发地址。 dhcp-range = 192.168.47.100,192.168.47.250,12h#在192.168.46.100-250之间分配IP地址,租约时间为12小时 loginDHCP login查询
这里是一个客户端机器的示例ip路由表:
ip -one addr 1:lo inet 127.0.0.1/8 scope host lo \ valid_lft forever永远是preferred_lft 1:lo inet6 :: 1/128 scope host \ valid_lft forever永远的preferred_lft 2:eth0 inet 192.168.46.5/24 brd 192.168.46.255 scope global eth0 \ valid_lft forever forever_lft forever 2:eth0 inet6 fe80 :: 82ee:73ff:fe5d:89d1 / 64范围链接\ valid_lft永远preferred_lft永远 3:eth1 inet 192.168.47.244/24 brd 192.168.47.255范围全局eth1 \ valid_lft永远preferred_lft永远 3:eth1 inet6 fe80 :: 82ee:73ff:fe5d:89d0 / 64范围链接\ valid_lft永远preferred_lft永远
路线-n 内核IP路由表 目标网关Genmask标志度量参考使用Iface 0.0.0.0 192.168.46.1 0.0.0.0 UG 0 0 0 eth0 192.168.46.0 0.0.0.0 255.255.255.0 U 1 0 0 eth0 192.168.47.0 0.0.0.0 255.255.255.0 U 1 0 0 eth1
到目前为止,
经过大量的阅读,我已经确定,我需要静态路由,不同的子网为每个lan接口或桥接。
理想情况下,我想在基于接口的shorewall中设置权限,并为所有LAN接口仍然使用一个子网。
你完全错了,和Shorewall(或其他任何防火墙软件包)没有任何关系,而是一般的IPnetworking。
如果你想象一个给定的IP主机在同一子网中有三个接口,并且一个数据包从第四个到达该子网,那么这个主机如何知道三个接口中的哪一个应该接收数据包? 它在所有三个ARP? 它是否只是把所有的stream量发送到第一个stream量,从而防止另外两个stream量? 这就是为什么如果你试图从shellconfiguration这个,你会得到一个有关重叠子网的错误消息。
所以 – 你有三个合理的select,有几个子选项。
转储其他两个接口,只需将一个端口连接到交换机,然后将该交换机上的主机(以及可能在相同子网中的wifi)挂起。 将所有三个内部接口连接到一个单一的绑定或者团队中是可能的,但是这基本上将所有三个物理接口并入到一个单一的逻辑接口中。
创build一个Linux桥接口。 将IP,DHCP和其他configuration元素提供给网桥,然后将三个物理接口绑定为网桥的成员。 您的防火墙将单个网桥接口视为内部(即使它连接到三个网段)。 再次 – 从IP的angular度来看,在内部子网中有一个接口,而不是三个。
将三个接口放在三个不重叠的IP子网中并进行相应的configuration。