有没有大牛能够帮忙解答如下问题?知识薄弱,都不知道如何搜索好⊙﹏⊙b !
路由: 192.168.1.1 联网
机器 A:
物理网卡 eth0 192.168.1.2/24, 连接路由器
虚拟网卡 veth0 192.168.2.2/24,已经通过 eth0 联网
机器 B:
物理网卡 eht0 192.168.1.2/24,连接路由器
问题 1: 机器 A 如何配置能够通过 veth0 上网
问题 2: 机器 B 如何通过机器 A 的 veth0 上网
1
batman2010 2019-02-07 17:52:59 +08:00 via iPad
ip 冲突?
|
2
mchong 2019-02-07 17:55:50 +08:00
不能吧。你的 A 机器 veth0 的 ip 配置和路由都不在一个网段上,怎么上?
|
3
koebehshian 2019-02-07 17:56:27 +08:00 via Android
问题一,通过 route 命令配置默认路由
|
4
ysc3839 2019-02-07 18:03:42 +08:00 via Android
你这个 veth0 是怎么弄出来的?
|
5
henglinli 2019-02-07 18:15:58 +08:00
机器 A 加一个 bridge 应该就可以了,后者机器 A 开启 ip_forward 试试看。
sysctl -w net.ipv4.ip_forward=1 参考下: https://wiki.gentoo.org/wiki/Network_bridge https://wiki.gentoo.org/wiki/Ethernet_plus_WiFi_Bridge_Router_and_Firewall |
6
feather12315 2019-02-07 18:24:29 +08:00 via Android
veth 是成对出现的。比如 veth0 与 veth1,发往 veth0 的数据包只能由另一个 veth1 接收。
通过网桥桥接 eth0 与 veth1,可以另发往 veth0 的数据包到达 eth0 端口。 |
7
feather12315 2019-02-07 18:26:04 +08:00 via Android 1
@ysc3839 #4 veth 是网络虚拟化的一种,虚拟的是链路层以太网,使用 ip link 可以创建。
|
8
Leigg 2019-02-07 18:45:13 +08:00 via iPhone
A 通过 nat,B 和 A 处于同一网络 ip 冲突怎么上网?
|
9
thomaspaine 2019-02-08 14:45:38 +08:00
大兄弟是不是搭了一套 vpn 想做个二级路由翻墙啊,虚拟网卡是 vpn 创的
sysctl -w net.ipv4.ip_forward=1 iptables -t nat -A POSTROUTING -o veth0 -j MASQUERADE iptables -t filter -A FORWARD -i veth0 -j ACCEPT iptables -A FORWARD -o veth0 -j ACCEPT iptables -t filter -A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT 对了,默认路由用你 veth 那个,这个我就不写命令了啊 这样 A 机器上所有流量走 veth,B 机器设置默认网关为 192.168.1.2, 所有流量走 veth,相当于把 A 当路由器了 你且试试? |