我希望在同一子网中有多个 NIC(eth0 和 wlan0),并在其中一个 NIC 发生故障时作为主机上应用程序的备份。为此,我创建了一个额外的路由表。这是/etc/network/interfaces看起来的样子:
iface eth0 inet static
address 192.168.178.2
netmask 255.255.255.0
dns-nameserver 8.8.8.8 8.8.4.4
post-up ip route add 192.168.178.0/24 dev eth0 src 192.168.178.2
post-up ip route add default via 192.168.178.1 dev eth0
post-up ip rule add from 192.168.178.2/32
post-up ip rule add to 192.168.178.2/32
iface wlan0 inet static
wpa-conf /etc/wpa_supplicant.conf
wireless-essid xyz
address 192.168.178.3
netmask 255.255.255.0
dns-nameserver 8.8.8.8 8.8.4.4
post-up ip route add 192.168.178.0/24 dev wlan0 src 192.168.178.3 table rt2
post-up ip route add default …Run Code Online (Sandbox Code Playgroud) 我有一个在 上运行的服务(docker 注册表)port 5000,我已经安装了 nginx 以将 http 请求从 重定向8080到5000。如果我卷曲localhost:5000它可以工作,但是当我卷曲它时,localhost:8080我会收到一个错误的网关错误。
nginx配置文件:
upstream docker-registry {
server localhost:5000;
}
server {
listen 8080;
server_name registry.mydomain.com;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
client_max_body_size 0;
chunked_transfer_encoding on;
location / {
proxy_pass http://docker-registry;
}
location /_ping {
auth_basic off;
proxy_pass http://docker-registry;
}
location /v1/_ping {
auth_basic off;
proxy_pass http://docker-registry;
}
}
Run Code Online (Sandbox Code Playgroud)
在/var/log/nginx/error.log我有:
[crit] 15595#0: *1 connect() to [::1]:5000 failed (13: Permission denied) …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用 ifconfig 在嵌入式 linux 上配置网络接口:
ifconfig eth0 192.168.0.101 netmask 255.255.255.0
Run Code Online (Sandbox Code Playgroud)
但我不知道如何将默认网关添加为 ifconfig 参数,
有任何想法吗?
当我运行 route 命令时,默认网关解析为 _gateway。我可以 ping _gateway,它解析为我的默认网关并回复。
为什么 Ubuntu 18.04 在网关前面加上 _?
我想将在 eth0 上接收到的所有 L3 数据包转发到另一个接口,让我们调用 m0(m0 是一个自定义接口,绑定到具有独特 L2 帧机制的自定义硬件)以及反向 m0->eth0。例如,m0 的示例实现可以是 SLIP 接口。我想最好使用用户空间工具来实现这一点。
棘手的部分是我不想路由。我不在乎源或目标 ipv4 地址是什么,也不在乎 MAC 地址是什么。我只想盲目地从接口 0 中抓取所有内容并将其铲到接口 1 上(反之亦然),而无需修改 L3 数据包。
我知道通过 eth0 传入的所有内容(在本用例中)都是适合以太网 mtu 1500 的 ipv4 UDP 数据包,没有碎片。此外,它需要处理多播寻址的数据包。
我担心实现这一目标的唯一方法是使用以混杂模式驻扎在界面上的自定义软件。我想避免这种情况,因为很难避免进入我将数据包循环回其来源的场景。
例如,
至于在 Linux 中的设置,我所做的所有研究都使我使用以下组合,但我认为它们不适合这个用例:
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -A FORWARD -i eth0 -o m0 -j ACCEPT
iptables -A FORWARD -i m0 -o eth0 …Run Code Online (Sandbox Code Playgroud) 有没有办法用某种基于 linux 的代理替换 RDS 网关。我知道有一些方法可以通过 ssh/端口转发来实现,但这是为了替换我们的用户用于远程访问的当前 RDS 网关(约 300 个用户)。我需要支持多个 Windows 客户端,使用其原生 RDP 连接到校园内的 Windows 桌面,并在两者之间使用某种 linux 代理。
根据我的搜索,有一些解决方案(xrdp、ssh 代理、端口转发等)可以满足我的需求,但它们要么对用户不友好,要么涉及使用多个/非标准端口。在我放弃搜索并屈服于为 RDS 支付 MS 许可之前,目前是否可以使用 Linux 使用其本机客户端从 Windows 代理 RDP?
[多个远程 Windows 客户端] => [Linux 代理/网关] => [企业 Windows 桌面]
简单的设置在这里。我有一台带有多个网络接口的机器,例如两个 -eth0和eth1.
eth0有一个静态地址并分配了一个默认网关。
eth1具有静态地址,并且在该接口的网络地址范围内没有网关。
在上面的示例中,我是否需要在网络配置文件 ( /etc/network/interfaces) 中为gateway在其网络上没有网关的接口上的选项添加一个条目eth1?
如果我做这样的事情:
gateway 127.0.0.1
Run Code Online (Sandbox Code Playgroud)
这会产生不良影响吗?这个接口现在是否有办法到达网关,或者使用环回接口作为网关是否无效(即与gateway完全关闭该选项相同)?
/etc/network/interfaces
# The loopback network interface
auto lo
iface lo inet loopback
# Interface 1
allow-hotplug eth0
iface eth0 inet static
address 10.1.10.200
netmask 255.255.255.0
gateway 10.1.10.1
# Interface 2
allow-hotplug eth1
iface eth1 inet static
address 192.168.100.1
netmask 255.255.0.0
gateway 127.0.0.1 # This is the line in question
Run Code Online (Sandbox Code Playgroud) 以下有什么区别?
Host foo
ProxyCommand ssh example.com -- /usr/bin/nc %h %p 2> /dev/null
Run Code Online (Sandbox Code Playgroud)
和
Host foo
ProxyCommand ssh -W %h:%p example.com
Run Code Online (Sandbox Code Playgroud)
我应该在什么时候选择哪一个?它们中的任何一个在某种程度上更快或更有效吗?
我有这台服务器有一段时间了,并且出现了其他问题。
前段时间,我换了网络,网关IP也改了。
从那以后,这台机器上没有互联网。
我需要访问互联网来更新机器和(有时)安装我需要的开发包。
我试过的:
route add default gw 192.168.1.1( https://unix.stackexchange.com/a/259046/133591 )ip route replace default via 192.168.1.1( https://unix.stackexchange.com/a/199070/133591 )ip route add default via 192.168.1.1 dev eth0( https://unix.stackexchange.com/a/259048/133591 )编辑文件/etc/network/interfaces,如下所示:
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
allow-hotplug eth0 …Run Code Online (Sandbox Code Playgroud)我正在构建一个带有 RPi(Raspbian)的路由器。它有3个网络接口:
此外,有一个 VPN 连接tun0到远程网络,该网络连接到互联网本身。
现在我想要:
结果我想要两个 WLAN,一个可以直接访问互联网,另一个可以通过 VPN 连接访问互联网。
这很容易使用两种不同的设备,但是如何仅使用一个默认网关来做到这一点?