我的家庭服务器上安装了 UFW、OpenVPN 和 Virtualbox。我为我的虚拟机来宾 (vboxnet0) 设置了一个仅主机网络,IP 范围设置为 10.0.1.0,另一个 IP 范围 10.0.0.0 配置在 OpenVPN 连接的另一端。
IP 转发是在主机上配置的,因此当 UFW 被禁用时,它们可以毫无问题地相互通信。但是,我想运行 UFW,因为该主机可以通过网络访问,并且我想要一些访问控制。
如何配置 UFW 以允许此类流量?
我尝试了以下各种组合:但ufw allow allow in|out on vboxnet0|tun0没有成功。
我的UFW规则是:
root@gimli:~# ufw status
Status: active
To Action From
-- ------ ----
22 ALLOW Anywhere
Anywhere ALLOW 10.0.0.0/16
Anywhere on vboxnet0 ALLOW Anywhere
Anywhere on tun0 ALLOW Anywhere
Anywhere ALLOW OUT Anywhere on vboxnet0
Anywhere ALLOW OUT Anywhere on tun0
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激。
我正在做一个关于ip数据包转发的网络实验,但我不知道它为什么起作用。
我有一台带有两个网络接口的 linux 机器,eth0 和 eth1 都有静态 IP 地址(eth0:192.168.100.1,eth1:192.168.101.2)。
我的目标很简单,我只想将目标在子网 192.168.100.0/24 中的 eth1 的 ip 数据包转发到 eth0,并将目标在子网 192.168.101.0/24 中的 eth0 中的 ip 数据包转发到 eth1。
我打开了 ip 转发:
sysctl -w net.ipv4.ip_forward=1
Run Code Online (Sandbox Code Playgroud)
我的路由表是这样的:
# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.100.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.101.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试从 192.168.100.25 ping 到 192.168.101.47 时,它不起作用。
我按照这些说明设置了与 iptables 的共享互联网连接。具体来说,我:
在 /etc/network/interfaces 中为我的第二个 NIC 添加了一个网络接口,如下所示:
auto eth1
iface eth1 inet static
address 192.168.1.100
netmask 255.255.255.0
准确输入这些规则:
sudo iptables -A FORWARD -o eth0 -i eth1 -s 192.168.1.0/24 -m conntrack --ctstate NEW -j ACCEPT
sudo iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
sudo iptables -t nat -F POSTROUTING
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
将我的规则保存到一个文件并将其添加到 /etc/rc.local
通过将 /proc/sys/net/ipv4/ip_forward 的值更改为 1 来启用 IP 转发
取消注释net.ipv4.ip_forward=1/etc/sysctl.conf 中的行
重新启动
现在,当我将笔记本电脑插入 eth1 接口时,我获得了一个 …
我正在尝试使用 Linux VM 作为另一个 VM 的 IPv6 Internet 网关。我安装了一个服务器,我收到了 ipv6 前缀 2001:abcd:1234:5678::/64 (注意我出于隐私原因编辑了前缀)
设备 1:我设置了地址为 2001:abcd:1234:5678:ffff::1/120 的接口 eth0 (WAN) 我设置了 IP fd12:3456:7890::1234 的接口 eth1 (LAN)
我使用了以下 iptables 规则:
-A FORWARD -o eth0 -i eth1 -s 2001:abcd:1234:5678:ffff::/120 -m conntrack --ctstate NEW -j ACCEPT
-A FORWARD -o eth1 -i eth0 -d 2001:abcd:1234:5678:ffff::/120 -m conntrack --ctstate NEW -j ACCEPT
-A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
Run Code Online (Sandbox Code Playgroud)
通过 sysctl 正确设置选项:net.ipv6.conf.all.forwarding=1
设备可以正常访问 IPv6 互联网。
设备 2:我有 eth0,IP 为 2001:abcd:1234:5678:ffff::2/128 和网关 fd12:3456:7890::1234
我可以访问 fd12:3456:7890::1234 和 …
我目前正在尝试使用 netplan 在 Ubuntu 18.04 服务器中允许两个接口之间的通信,每个接口都有自己的子网,但我很难获得正确的配置。这是网络外观的图形表示:
在图像中,中间黄色设备是左侧客户端的 DHCP 服务器,使用enp8s0接口,静态 IP 为192.168.254.254,子网掩码为255.255.255.240。客户端(橙色框)从 DHCP 服务器获取它们的 ip。每个客户端还通过 Nginx 托管一个网页。所有这些设备都运行 Ubuntu 18.04 服务器。每台客户端机器上可能更改的地址不是问题。
在右侧,黄色“服务器”的接口enp7s0配置了静态 ip 172.16.0.1和子网掩码255.255.255.252。然后将此接口连接到我的笔记本电脑,该笔记本电脑的接口设置为172.16.0.2,具有相同的子网掩码。
我想要做的是能够从我的笔记本电脑中的任何一个客户端查看网站。这些机器中的任何一个都不需要连接到互联网,所有连接都通过以太网电缆完成。
网络计划:
黄色“服务器”网络规划配置文件:
network:
version: 2
renderer: networkd
ethernets:
enp7s0:
addresses: [172.16.0.1/30]
gateway4: 172.16.0.1
routes:
- to: 192.168.254.240/28
via: 172.16.0.1
on-link: true
enp8s0:
addresses: [192.168.254.254/28]
gateway4: 192.168.254.254
routes:
- to: 172.16.0.0/30
via: 192.168.254.254
on-link: true
Run Code Online (Sandbox Code Playgroud)
IP转发:
该行在/etc/sysctl.conf文件中 …
我有安装了 VirtualBox 的 Ubuntu 14.04 台式机。我制作了两台虚拟机,一台是 Ubuntu 服务器,另一台是 Lubuntu 客户端。默认设置允许我通过连接到主机的 3G 调制解调器从访客到 Internet 访问 Internet,因为访客默认使用 NAT,但我无法从客户端访问服务器。
我想把两个guest放在分开的网络中,让guest server通过NAT与另一个网络接口连接到Internet,并使guest client通过guest Server连接到Internet。
我做了以下事情:
我应该怎么做才能使来宾服务器访问 Internet,然后使来宾客户端也通过来宾服务器访问 Internet?
在我的 Ubuntu 14.04 上,我有一个在本地 IP (192.168.33.99) 和端口 80 上运行的服务。在我的网络中,我的 Ubuntu 计算机的 IP 为 192.168.2.3。现在我想将 192.168.2.3:8080 上的所有流量重定向到 192.168.33.99:80(注意这是 Ubuntu 机器上的本地 IP)。我怎样才能做到这一点?
这个命令的每一部分是什么意思?
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Run Code Online (Sandbox Code Playgroud)