저는 Bridge 유틸리티를 사용하여 네트워크에 연결된 컴퓨터를 Linux 컴퓨터의 단일 인터페이스에 연결했습니다. 내가 겪고 있는 문제는 새 Linux(Slackware 포함)를 설치할 때 연결된 두 컴퓨터가 서로 ping조차 할 수 없다는 것입니다. 기본적으로 컴퓨터는 다음과 같이 연결됩니다.
client - server - client
|
[Internet]
그래서 두 클라이언트가 서로 연결되도록 노력하고 있습니다. 둘 다 인터넷에 접속할 수 있으며 테스트 당시 두 클라이언트의 방화벽은 모두 꺼져 있었습니다.
인터넷은 eth0에 있고 브리지를 설정했습니다.
bridge name interfaces
br0 eth1, eth2
ip addr br0
그리고 ip route show
각각 디스플레이
inet 10.0.0.1/24 brd 10.0.0.255
10.0.0.0/24 dev br0 proto kernel scope link src 10.0.0.1
따라서 클라이언트로부터의 호출은 내 br0 인터페이스로 직접 라우팅되어야 하는 것 같습니다. 이는 정확해야 합니다.
가급적이면 브리징 도구를 사용하여 서로 볼 수 있도록 네트워크 케이블이 연결된 두 대의 컴퓨터를 라우팅하도록 Slackware 배포판을 구성하려면 어떻게 해야 합니까?
답변1
서버에서 방화벽이 비활성화되어 있습니까? 패킷을 차단하는 일부 방화벽 규칙이 있을 수 있습니다. iptables의 출력을 살펴보세요(루트로 실행해야 함). ACCEPT 규칙/정책 이외의 항목이 표시되면 아마도 무언가를 차단하고 있는 것입니다.
iptables -L
그리고
iptables -t nat -L
답변2
두 장치가 서로 ping할 수 없으면 브리지가 올바르게 설정되지 않은 것입니다. IP 프로토콜 라우팅은 브리지와 관련되지 않습니다. 의 출력은 무엇입니까brctl표시? 다음과 같은 내용이 표시되어야 합니다.
$ brctl show
bridge name bridge id STP enabled interfaces
br0 8000.003018a46079 no eth1
eth2
두 인터페이스가 모두 나열되지 않으면 수정이 필요합니다.
brctl showmacs br0
해당 명령을 시도해 보고 그 위에서 STP(스패닝 트리 프로토콜)가 활성화되어 있는지 확인할 수도 있습니다 brctl showstp br0
. 전자는 두 장치의 MAC 주소를 표시해야 하며 후자의 경우 각 포트가 작동 중인지 확인해야 합니다.앞으로
모든 인터페이스가 인터넷에 액세스할 수 있다고 말씀하신 것을 고려하면 모든 인터페이스가 작동 중이라고 가정합니다. 그렇지 않은 경우 다음을 수행해야 합니다.
ip link set br0 up
ip link set eth0 up
ip link set eth1 up
ip link set eth2 up
답변3
명령을 사용하여 서버에서 IP 전달이 활성화되어 있는지 확인하십시오.
sysctl net.ipv4.ip_forward
0이 주어지면 실행
sysctl -w net.ipv4.ip_forward=1
서버의 루트로. 도움이 된다면 /etc/sysctl.conf를 편집하여 변경 사항을 영구적으로 적용하십시오.