我正在尝试使用交叉电缆将两台 ubuntu 14.04 电脑连接起来。从网络设置中,我给出了以下 IP 地址:(Ipv4 手册)PC1 - IP:10.0.0.1 网络掩码:255.255.255.0 PC2 - IP:10.0.0.2 网络掩码:255.255.255.0
PC1 是服务器,它安装了 Apache。它提供来自 localhost 的页面。我想通过输入 IP1 在 PC2 浏览器中查看此网页。但是,我的问题从头开始,我甚至无法从 PC1 ping 到 PC2 或反之亦然。
“ifconfig” 的结果
PC1:eth2 链路封装:以太网 HWaddr 40:a8:f0:5e:91:94
inet addr:10.42.0.1 Bcast:10.42.0.255 Mask:255.255.255.0
inet6 addr: fe80::42a8:f0ff:fe5e:9194/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:38 errors:0 dropped:0 overruns:0 frame:0
TX packets:246 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:7569 (7.5 KB) TX bytes:39911 (39.9 KB)
Interrupt:20 Memory:ec200000-ec220000
洛
Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:933 errors:0 dropped:0 overruns:0 frame:0
TX packets:933 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:74985 (74.9 KB) TX bytes:74985 (74.9 KB)
PC2:eth2
Link encap:Ethernet HWaddr 40:a8:f0:5e:92:48
inet addr:10.42.0.40 Bcast:10.42.0.255 Mask:255.255.255.0
inet6 addr: fe80::42a8:f0ff:fe5e:9194/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:467 errors:0 dropped:0 overruns:0 frame:0
TX packets:460 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:64183 (64.1 KB) TX bytes:54663 (54.6 KB)
Interrupt:20 Memory:ec200000-ec220000
洛
Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:1380 errors:0 dropped:0 overruns:0 frame:0
TX packets:1380 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:103299 (103.2 KB) TX bytes:103299 (103.2 KB)
iptables --list
Chain INPUT (policy DROP)
target prot opt source destination
ACCEPT tcp -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT udp -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT icmp -- anywhere anywhere state RELATED,ESTABLISHED
REJECT udp -- anywhere anywhere udp dpt:mdns reject-with icmp-port-unreachable
ACCEPT all -- anywhere anywhere
DROP all -- anywhere anywhere PKTTYPE = broadcast
DROP all -- anywhere anywhere PKTTYPE = multicast
LOG all -- anywhere anywhere state INVALID LOG level warning prefix " Invalid "
DROP all -- anywhere anywhere state INVALID
LOG all -- anywhere anywhere limit: avg 25/min burst 7 LOG level info prefix "#BANNED-BY-ROOT# "
DROP all -- anywhere anywhere
Chain FORWARD (policy DROP)
target prot opt source destination
ACCEPT tcp -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT udp -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT icmp -- anywhere anywhere state RELATED,ESTABLISHED
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
服务器有额外的内容:链输入接受 udp -- 任何地方任何地方 udp dpt:bootps接受 tcp -- 任何地方任何地方 udp dpt:bootps接受 udp -- 任何地方任何地方 udp dpt:domain接受 tcp -- 任何地方任何地方 udp dpt:domain链转发接受所有 -- 任何地方 10.42.0.0./24 状态相关,已建立接受所有 -- 10.42.0.0./24 任何地方接受所有 -- 任何
地方任何地方拒绝所有 -- 任何地方拒绝 icmp 端口不可达拒绝所有 -- 任何地方任何地方拒绝 icmp 端口不可达
答案1
首先,重新开始。
将以太网电缆插入两台计算机,并在服务器计算机上单击仪表板上的网络管理器图标并选择“编辑连接”。
选择自动 eth0,选择 ipv4 选项卡,然后选择连接类型“共享给其他计算机”。保存更改并退出菜单。
然后,单击网络管理器,然后单击网络自动 eth0 以刷新网络,或者运行以下命令:
sudo service network-manager restart
获取服务器电脑的ip,点击network-manager,选择connection-information获取ip,用这个ip从pc2访问服务器。
允许防火墙访问:
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
如果你也想这样做,也可以允许 ssh:
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
[更多信息][1][1]:https://www.digitalocean.com/community/tutorials/how-to-set-up-a-firewall-using-iptables-on-ubuntu-14-04
要使用 ufw,请执行以下操作:
今天早些时候,我在全新安装并禁用 ufw 的情况下尝试了此操作。使用 ufw 设置允许规则。
sudo ufw allow in 80/tcp
sudo ufw allow out 80/tcp
您也可以设置 udp,但这里不需要,这只是一个示例:
sudo ufw allow out 80/udp
sudo ufw allow in 80/udp
如果你想要 ssh 访问:
sudo ufw allow out 22/tcp
sudo ufw allow in 22/tcp
答案2
使用子网的地址192.168.0.0/16
,而不是10.0.0.0/24
,例如分配 PC1192.168.5.1
和 PC2 192.168.5.2
。10.0.0.0/24
地址可能不会离开 PC,因为它们没有被路由。