我有一个 linux box,它有两个网络接口,eth0,eth1。从 eth1 我可以访问内部网站,比如在端口 8080 下。从盒子外面,我无法访问该网络。我的问题是,有没有办法从盒子外面设置一些东西,似乎有一个 web 服务器在端口 8080 中运行,当我连接到它时,它会自动转发到 eht1 内部站点?我尝试启用 ip forward 并添加静态路由,但它不起作用。谢谢。
我尝试设置的系统有一个 IP 地址172.31.2.1。它的默认网关是172.31.254.1。这工作正常,我可以访问网关允许我访问的任何内容(172.31.0.0/16 + 149.244.178.0/24)。
在149.244.178.1有另一个网关,它允许我访问149.244.0.0 中的任何内容,我正在尝试将其添加到表中,以便我可以访问149.244.64.250。
这是我的路由表目前的样子:
Kernel IP Routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
172.31.0.0 * 255.255.0.0 U 0 0 0 eth0
169.254.0.0 * 255.255.0.0 U 0 0 0 eth0
default 172.31.254.1 0.0.0.0 UG 0 0 0 eth0
Run Code Online (Sandbox Code Playgroud)
route add 149.244.0.0/16 gw 149.244.178.1给出错误:
route: netmask 0000ffff doesn't make sense with host route.
Run Code Online (Sandbox Code Playgroud)
route add -net 149.244.0.0/16 dev eth0将路由表更改为: …
我对以下内容感到困惑:
C:\>ipconfig
....
Connection-specific DNS Suffix . : some address here
IP Address. . . . . . . . . . . . : 10.77.121.54
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 10.77.121.1
Run Code Online (Sandbox Code Playgroud)
从上面可以看出,我电脑的网关是 10.77.121.1。但是当我使用tracert时,第一个IP地址是不同的,如下所示。它是 10.77.121.3。为什么?
C:\tracert 10.75.89.100
Tracing route to 10.75.89.100
over a maximum of 30 hops:
1 29 ms <1 ms <1 ms 10.77.121.3
2 <1 ms …Run Code Online (Sandbox Code Playgroud) 我想通过分配的 IP 地址访问站点。我运行以下命令:
ifconfig eth0:1 [ip address]
route add -host [the target host ip] dev eth0:1 gw [gateway]
Run Code Online (Sandbox Code Playgroud)
这在 Ubuntu 上运行良好。但是当我想在 Redhat AS4 服务器上做同样的事情时,它不起作用。ping对新IP地址有效,但运行路由后,无法访问目标站点。有谁知道原因吗?
我正在尝试将 linux 服务器配置为网关/路由器,但我无法让它工作,而且我设法找到的所有信息都与 NAT 相关。
我有一个用于网关和它后面的设备的公共 IP 块,所以我希望网关简单地将数据包路由到互联网 - 再次:没有 NAT!
我已经设法让网关成功访问互联网(这只是配置 IP 和 GW 的问题),并且它后面的计算机可以与其通信。
[编辑:更多信息]
这实际上是一个 IPv6 块 ( 2800:40:403::0/48)(但我发现大多数实用程序和指令都可以轻松地从 IPv4 适应到 IPv6)。
服务器有太多端口:
2800:40:403::1/482800:40:403::3/48它后面的一台计算机通过交换机连接到它;
2800:40:403::7/48服务器上的 wan 接口可以 ping6 www.google.com 没有问题。服务器和客户端上的 LAN 接口可以相互 ping 没有问题(以及 SSH 等)。
我尝试将服务器设置为客户端的默认网关,但没有运气:
client # route -A inet6 add default gw 2800:40:403::3 dev eth1
server # cat /proc/sys/net/ipv6/conf/all/forwarding
1
Run Code Online (Sandbox Code Playgroud)
我不想要任何过滤/防火墙/等,只是简单的路由。
谢谢。
我想阻止直接访问我的 Windows 计算机,并希望通过我的 Linux 计算机(同样可以通过公共 IP 访问)公开在其上运行的一些程序。
有没有一种方法可以配置我的 Linux 机器(比如 IP = ),将其在特定端口(比如 )获得的a.b.c.d)所有流量路由到我的 Windows 机器(比如 IP = )的端口?UDP6667e.f.g.h6668
是的,我该如何实施呢?
更新
# bindadress bindport connectaddress connectport
192.168.2.45 6667 192.168.2.104 6668
# logging information
logfile /var/log/rinetd.log
# uncomment the following line if you want web-server style logfile format
logcommon
~
Run Code Online (Sandbox Code Playgroud)
更新
我UDP只想路由流量。
我看到了用于配置内核路由表的ip和route命令。有什么不同?在我看来,ip命令更受欢迎。是这样吗,为什么?
我的工作站上有 Docker 和 IPSEC VPN 隧道,但容器无法访问 VPN 后面的主机。有什么我可以做的,例如使用 IPTables 或允许访问的路由吗?[注意:我目前正在 libvirt 托管的 VM 中运行这些测试,然后 libvirt 网桥的地址为 192.168.122.1]
我的网络设置如下所示:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
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: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 52:54:00:0f:f2:bb brd ff:ff:ff:ff:ff:ff
inet 192.168.122.87/24 brd 192.168.122.255 scope global dynamic ens3
valid_lft 3490sec preferred_lft 3490sec
inet6 fe80::5054:ff:fe0f:f2bb/64 scope link
valid_lft …Run Code Online (Sandbox Code Playgroud) 我有一个 FreeBSD 8.0 虚拟机,带有两个以太网接口,em0 和 em1。em0 是 192.168.1.99,em1 是 192.168.1.100。两者都是“附加到:Bridged Adapter”。
当两者都起来时,如果我说
# route add default 192.168.1.1
# netstat -rn
# default 192.168.1.1 UGS 1 6 em0
Run Code Online (Sandbox Code Playgroud)
到现在为止还挺好。它选择了 em0。
# ifconfig em0 down
# route delete 0.0.0.0
# route add default 192.168.1.1
# netstat -rn
# default 192.168.1.1 UGS 1 6 *em0*
Run Code Online (Sandbox Code Playgroud)
好的。所以它仍然选择 em0(它必须真的很喜欢它),即使它已经关闭。我已经测试过,如果我为 em0 选择另一个 ip(比如 10.0.0.1),它会为路由选择 em1。
这让我想知道:如何让 freebsd 选择 em1 作为传出接口?在 linux 中,我记得我们可以用dev参数来做到这一点。
PS 我确实尝试使用 -interface 选项 - 没有运气。我试过
# route …Run Code Online (Sandbox Code Playgroud) route ×10
linux ×5
ip ×3
iptables ×2
networking ×2
docker ×1
domain ×1
forwarding ×1
freebsd ×1
ip-routing ×1
ipv6 ×1
nat ×1
routing ×1
tcpip ×1
vpn ×1