AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题

问题[nat](ubuntu)

Martin Hope
Wojciech Stańczuk
Asked: 2020-10-17 12:29:53 +0800 CST

网络路由和端口转发问题

  • 1

我有 2 个网络(下面链接中的图表)

答:10.0.0.0/24

B: 192.168.1.0/24

在网络 A 中,所有设备都通过交换机连接。某些设备提供某些服务,例如 ssh 或对数据库服务器的访问。

Compter (PC1) 有一个 Ubuntu 20 操作系统。我想留在那个系统。

网络 A (PC1) 上的计算机可以通过 Wi-Fi 连接到网络 B,并通过以太网连接到网络 A。我希望能够通过特定端口上的一个地址从网络 B 访问一些服务(来自网络 A)。来自网络的其余服务不应该可用。

我尝试使用 DNAT 和 SNAT 失败了。我可以访问设置 nat 的计算机,但其他设备没有收到数据包

'端口转发已启用'

PC1 有地址:

A) 172.17.10.2

B) 192.168.1.196

sudo iptables -t nat -A PREROUTING -d 192.168.1.196 -j DNAT --to-destination 172.17.10.2

sudo iptables -t nat -A POSTROUTING -s 172.17.10.2 -j SNAT --to-source 192.168.1.196

我想我应该使用路由到网络 B 的网络 A 的网关,但我不知道如何实现这个目标。

网络图

networking iptables routing port-forwarding nat
  • 1 个回答
  • 369 Views
Martin Hope
marliyev
Asked: 2020-04-14 08:47:09 +0800 CST

IPSEC 站点到站点重叠网络

  • 0

我们有两个使用 strongswan 通过 ipsec 连接的边。两台机器都是 ubuntu 16.04 服务器。问题是两端子网重叠。我们已经尝试了所有可能的 iptables 场景来映射地址,但没有运气。转发、ufw、netmap、snat、dnat。我们在双方都使用ufw。有任何想法吗?

iptables vpn ufw nat ipsec
  • 1 个回答
  • 283 Views
Martin Hope
RogueKnight
Asked: 2020-03-05 13:54:33 +0800 CST

Ubuntu 服务器 - 具有 Internet 访问权限的“虚拟”网络接口

  • 1

我有一个带有一个公共网络接口 (eth0) 的 Ubuntu 18.04 服务器。我正在尝试创建其他“虚拟”网络接口,这些接口也能够通过设置 NAT 规则访问互联网。

我使用以下命令创建了一个虚拟接口:

ip link add type veth

ifconfig veth0 192.168.1.1

下面是我的 ifconfig 的输出:

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
    inet 10.0.0.1  netmask 255.255.255.0  broadcast 10.0.0.255
    ether f2:3c:92:1f:2a:62  txqueuelen 1000  (Ethernet)
    RX packets 85664  bytes 111561237 (111.5 MB)
    RX errors 0  dropped 0  overruns 0  frame 0
    TX packets 15392  bytes 2229468 (2.2 MB)
    TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
    inet 127.0.0.1  netmask 255.0.0.0
    loop  txqueuelen 1000  (Local Loopback)
    RX packets 1385  bytes 213213 (213.2 KB)
    RX errors 0  dropped 0  overruns 0  frame 0
    TX packets 1385  bytes 213213 (213.2 KB)
    TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

veth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
    inet 192.168.1.1  netmask 255.255.255.0  broadcast 192.168.1.255
    ether a6:e7:de:40:9a:28  txqueuelen 1000  (Ethernet)
    RX packets 27  bytes 2082 (2.0 KB)
    RX errors 0  dropped 0  overruns 0  frame 0
    TX packets 1132  bytes 48520 (48.5 KB)
    TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

我已将“/proc/sys/net/ipv4/ip_forward”设置为 1:

$ cat /proc/sys/net/ipv4/ip_forward

1

我还尝试了许多 iptables MASQUERADE、FORWARD 和 NAT 规则,但无法从 veth0 访问 Internet。

当我从 veth0 接口 ping 192.168.1.1 时,一切正常:

$ ping -I veth0 192.168.1.1

PING 192.168.1.1 (192.168.1.1) from 192.168.1.1 veth0: 56(84) bytes of data.
64 bytes from 192.168.1.1: icmp_seq=1 ttl=64 time=0.029 ms
64 bytes from 192.168.1.1: icmp_seq=2 ttl=64 time=0.046 ms
64 bytes from 192.168.1.1: icmp_seq=3 ttl=64 time=0.085 ms
64 bytes from 192.168.1.1: icmp_seq=4 ttl=64 time=0.062 ms
64 bytes from 192.168.1.1: icmp_seq=5 ttl=64 time=0.061 ms
--- 192.168.1.1 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4097ms
rtt min/avg/max/mdev = 0.029/0.056/0.085/0.020 ms

但是,如果我尝试从 veth0 ping eth0 接口 IP 地址,我没有得到任何响应:

$ ping -I veth0 10.0.0.1

PING 10.0.0.1 (10.0.0.1) from 192.168.1.1 veth0: 56(84) bytes of data.
--- 10.0.0.1 ping statistics ---
39 packets transmitted, 0 received, 100% packet loss, time 38900ms

下面是我的路由命令的输出:

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         gw-li832.linode 0.0.0.0         UG    0      0        0 eth0
xx.xx.xx.xx     0.0.0.0         255.255.255.0   U     0      0        0 eth0
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 veth0

我似乎无法弄清楚我做错了什么,任何帮助将不胜感激。

networking iptables nat
  • 1 个回答
  • 1421 Views
Martin Hope
Tibby
Asked: 2019-10-15 12:10:28 +0800 CST

服务器上的 OpenVPN tun0 路由

  • 0

我有一个 OpenVPN tun0 10.8.0.0 255.255.255.0

服务器上有一个接口 eth1 为 192.168.0.0 255.255.255.0

我想路由 OpenVPN 连接以访问 192.168.0.0 网络。

我可以从我的客户端连接到 VPN,我得到一个 10.8.0.6 的 IP,但在服务器上它不会将流量从 tun0 路由到 eth1。当我对 192.168.0.1 进行跟踪时,它显示向 10.8.0.1 前进但停在那里。

如果我尝试从 tun0 ping 服务器上的 192.168.0.1,我没有得到任何响应。ping 192.168.0.1 -I tun0

任何人都可以帮我在服务器上添加什么才能使路由和 NAT 正常工作?

谢谢!

routing tunnel openvpn nat
  • 1 个回答
  • 2307 Views
Martin Hope
Quincy
Asked: 2019-05-09 07:47:57 +0800 CST

LINUX 16.04 端口阻塞和ip阻塞

  • 1

我的条件是有 3 台计算机的本地网络

  1. Comp A(10.1.1.7 和 172.16.1.12 和 192.168.0.4)(实际上 Comp A 有 3 个网络接口)
  2. 比较 B (10.1.1.13)
  3. 比较 C (172.16.1.5)

Comp A 有两个网络接口,我在 Comp A 后面使用 NAT 连接 Comp C,它是一个 Tomcat 服务器。另外,NAT 是 172.16.1.5:8080<->10.1.1.7:80

现在,我尝试在 Comp A (10.1.1.7) 上使用 iptables:

sudo iptables -A INPUT -s 10.1.1.13 -j DROP; sudo iptables -A INPUT -p tcp --dport 80 -j REJECT;

之后,Comp B (10.1.1.13) 无法 ping Comp A (10.1.1.7) 但我仍然可以访问 Tomcat 页面。我什至尝试使用第二个命令(REJECT 端口 80)来阻止端口 80。

我可以阻止 Comp B (10.1.1.13) 以使 Comp B 无法访问 Tomcat 页面。如果我只屏蔽端口,是不是只能不让Tomcat访问,但还能ping通10.1.1.7?谢谢

我的 iptables -v -x -n -L:

 pkts      bytes target     prot opt in     out     source               destination
       0        0 DROP       all  --  *      *       147.8.179.216        0.0.0.0/0
       0        0 DROP       all  --  *      *       14.0.154.45          0.0.0.0/0
       0        0 DROP       all  --  *      *       10.1.1.13            0.0.0.0/0
       0        0 REJECT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:80 reject-with icmp-port-unreachable

而且,我的 iptables -v -x -n -L -t -nat:

Chain PREROUTING (policy ACCEPT 35032 packets, 1969104 bytes)
    pkts      bytes target     prot opt in     out     source               destination
     386    19820 DNAT       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:80 to:172.16.1.5:8080

Chain INPUT (policy ACCEPT 34737 packets, 1955948 bytes)
    pkts      bytes target     prot opt in     out     source               destination

Chain OUTPUT (policy ACCEPT 312260 packets, 19072061 bytes)
    pkts      bytes target     prot opt in     out     source               destination

Chain POSTROUTING (policy ACCEPT 312260 packets, 19072061 bytes)
    pkts      bytes target     prot opt in     out     source               destination
     385    19780 SNAT       tcp  --  *      *       0.0.0.0/0            172.16.1.5           tcp dpt:8080 to:172.16.1.12
networking nat 16.04 ip
  • 2 个回答
  • 90 Views
Martin Hope
Joshua Fox
Asked: 2018-12-26 00:05:56 +0800 CST

如何从 NAT 后面远程控制 Ubuntu GUI 会话?

  • 0

当然我可以使用 Remmina 之类的,就像在这个答案中一样。但是源和目标 Ubuntu 笔记本电脑都位于它们自己的路由器 (NAT) 后面。我无法配置端口转发。

也许需要某种第三方;然后双方都会连接到它。有没有这样做的服务?

networking rdp vnc nat remmina
  • 1 个回答
  • 140 Views
Martin Hope
Codey
Asked: 2018-12-13 11:23:44 +0800 CST

iptables 设置路由

  • 1

我想设置我的 ubuntu 计算机来路由数据包。因此,我阅读了几篇教程,这些教程总是有很多规则要添加到 iptables 中。

我终于发现,路由数据包所需的唯一规则(假设 iptables 否则完全为空)如下:

iptables -t nat -A POSTROUTING -o <ext> -j MASQUERADE

其中ext是数据包向外发送的网络接口。

我真的不明白这条规则的真正作用以及为什么只需要这条规则就可以使 IP 转发工作。

networking iptables routing nat
  • 1 个回答
  • 2793 Views
Martin Hope
user4467097
Asked: 2018-10-24 06:17:01 +0800 CST

不使用 NAT 功能的 2 个有线接口之间的路由

  • 1

我有两个内部网络(我不想/无法访问 Internet),我在其中连接我的 Ubuntu 14.04(带有 eth0 和 eth1 网络接口)。从 eth0(网络 192.168.0.0)我直接连接另一台 PC1。除了来自 eth1(网络 10.1.1.0)之外,我还直接连接了另一台 PC2。无论方向如何,我都想从 PC1 ping 到 PC2,直到现在我都无法成功。

当前的 IP 配置为:

- Ubuntu-eth0 has 192.168.0.1
- PC1 has 192.168.0.2
- Ubuntu-eth1 has 10.1.1.1
- PC2 has 10.1.1.2

Ubuntu /etc/network/interfaces:

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
    address 192.168.0.1
    network 192.168.0.0
    netmask 255.255.255.0
    broadcast 192.168.0.255

auto eth1
iface eth1 inet static
    address 10.1.1.1
    network 10.1.1.0
    netmask 255.255.255.0
    broadcast 10.1.1.255

Ubuntu /etc/sysctl.conf 也有:

net.ipv4.ip_forward = 1

这是在终端中运行的:

~$ sudo iptables -A FORWARD  -i eth0 -o eth1 -j ACCEPT 
~$ sudo iptables -A FORWARD  -i eth1 -o eth0 -j ACCEPT 
~$ sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE 

使用此配置,我可以从 PC2 -> PC1 ping,但是当我启用 nat 功能时,我无法从 PC1 -> PC2 ping,而且 PC2 没有其真实 IP(如通过 PC1 中的 Wireshark 看到的)。

如何在没有 nat 功能的情况下建立通信渠道?我想要的结果是使用它们在目的地的真实 IP ping PC1 -> PC2 和 PC2 -> PC1。我已经关注了许多链接和教程,但还没有成功。

提前致谢。

networking iptables interface nat
  • 1 个回答
  • 1058 Views
Martin Hope
Panduranga Rao Sadhu
Asked: 2018-06-06 01:11:23 +0800 CST

STUN/TURN 流量的 iptable 匹配规则

  • 0

我正在寻找来自 443 端口的 TURN/STUN 数据包。根据 TURN RFC,字节 46 到 49 是 TURN 数据包魔术 cookie '2112a442'。这是wireshark的截图,我发现STUN cookie从46到49

我正在使用-m u32 --u32 "46=0x2112A442" 但无法过滤它们。

这是我完整的 iptable 规则

-A PREROUTING -i eth0 -p tcp --dport 443 -m u32 --u32 "46=0x2112A442" -j REDIRECT --to-port 3478

知道我可能做错了什么吗?

iptables nat
  • 1 个回答
  • 1575 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve