将两台计算机连接在一起:分配IP不起作用
我搞砸了。 我在一台机器上有两个网卡,在第二台机器上有一个。 我尝试通过在两台机器上设置静态IP来连接两台计算机,如下所示:
COMP1:
sudo ip ad add 10.0.0.10/24 dev eth1
COMP2:
sudo ip ad add 10.0.0.20/24 dev eth0
其中comp1
上的eth0
是ip 192.168.132.100
的外线
重新启动comp1
我丢失了网络连接,我看不到其他计算机comp2
。
有人可以就如何设置这个提出一些建议吗?
更新:
让我们从开始:
两台电脑comp1和comp2
comp1 – >两个网卡eth0和eth1
eth0是外部连接:
汽车公司
iface lo inet loopback自动eth0
iface eth0 inet dhcp
它的IP是10.140.20.20
eth1用于跨计算机连接:
汽车eth1
iface eth1 inet static
地址10.10.0.0
网络掩码255.255.255.0
网关10.140.20.20
dns-nameservers 10.140.20.20
COMP2:
汽车公司
iface lo inet loopback自动eth0
iface eth0 inet static
地址10.10.0.1
网络掩码255.255.255.0
网关10.140.20.20
dns-nameservers 10.140.20.20
我知道这不起作用,但有人可以请求解释原因。 我有一些经验,但几年前,但看起来我是一个新人
UPDATE2:
由于某种原因,我不能在下面添加任何更多的评论你回答我只是在这里添加我的进展。
所以我改变了一切,因为你gusy建议,现在我可以看到comp2从comp2和comp2从comp1我可以看到从comp1的网但我看不到是从comp2的网我已启用ipv4转发但我相信有一个问题我的设置:
COMP1:
汽车公司
iface lo inet loopback自动eth0
iface eth0 inet dhcp汽车eth1
iface eth1 inet static
地址10.10.0.10
网络掩码255.255.255.0
COMP2
自动eth0
iface eth0 inet static
地址10.10.0.20
网络掩码255.255.255.0
网关10.10.0.10
所以我认为在我的comp1上需要有eth1到eth0的连接,但我不知道如何设置它。 我需要在eth0(comp1)上使用静态IP吗?
当我添加:
汽车公司
iface lo inet loopback自动eth0
iface eth0 inet dhcp汽车eth1
iface eth1 inet static
地址10.10.0.10
网络掩码255.255.255.0
up / sbin / iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -d 0/0 -j MASQUERADE
我可以访问外部网络,但当我尝试下载一些东西到comp2像geany
sudo aptitude安装geany
我明白了
呃http:// ….
临时的faliour rsulting security.ubuntu.com
当系统重新启动时,它会读取netwoking init脚本,该脚本从/ etc / network / interfaces获取有关网络设置的信息。 编辑此文件,一切都会好的。
您可以在/etc/network/interfaces
使用以下内容:
# auto-up the interface eth0 auto eth0 # set a static configuration (inet=IP4, inet6=IP6) # use "dhcp" instead of "static" for dhcp usage iface eth0 inet static address 10.0.0.10 netmask 255.255.255.0 # if you use no gateway comment that line out gateway 10.0.0.1
我将假设Comp1是连接到互联网的那个,你希望Comp2能够通过Comp1连接。 你当前配置中的一些东西会搞砸了。 首先,来自Comp1,是这一行:
address 10.10.0.0
你不能将.0最后一个八位字节作为具有/ 24范围的地址(这是255.255.255.0网络掩码可以获得的) – 除非你确实需要它们,否则一般不要使用它们。 将此设为不同的地址 – 您有254个其他人可供选择。 我们这里就是10.10.0.1。
由于您在本机上的eth0上配置了10.140.20.20,因此可以使用该IP地址(通过eth0),因此您的网关语句应该可以正常工作。
但是,这行不适用于comp2:
gateway 10.140.20.20
Comp2无法知道如何访问此IP地址。 它唯一知道的是您配置的/ 24网络。 它将能够看到该范围内的任何其他地址,就是这样。 此网关地址不在该范围内,因此无法看到您已配置的网关。 事实上,对于2主机网络,它唯一能看到的是Comp1的地址。 因此,您需要将其更改为您为Comp1指定的IP。 假设我们在上面提到的地址,那么这个条目应该是:
gateway 10.10.0.1
您可以保持DNS条目不变。 现在你有一个可达的网关,如果它不知道地址实际在哪里,它只会将数据包发送到网关。
为此,Comp1需要能够从Comp2路由数据包,这意味着在Comp1上启用路由。 这很容易在飞行中做:
sysctl -w net.ipv4.ip_forward=1
如果要使其永久化,则需要将设置添加到/etc/sysctl.conf
。
现在,将会发生的任何数据包都将发送到Comp1,这些数据包将发送到互联网或Comp2上任何其他未知主机。 由于Comp1现在配置为路由该数据包,它将在eth1上接收它,并将其传递给eth2。