tap0
NAT: IP 매스커레이딩을 사용하는 tun/tap 인터페이스를 설정하려고 합니다 .
tap0
하지만 기본 경로를 통과하면 인터넷에 접속할 수 없습니다. 문제 해결을 도와주실 수 있나요?
다음은 제가 실행한 명령입니다. 192.168.A.B
주소에 대한 자리 표시자는 다음과 같습니다 tap0
.
ip tuntap add mode tap tap0
ip addr add 192.168.A.B/24 dev tap0
ifconfig tap0 192.168.A.B up
ip route add default via 192.168.A.B
ip link set tap0 up`
이것은 내 iptables
규칙이며, 그 중 일부는 someuser라는 다른 사용자에게만 적용되며 테스트 당시 나는 루트입니다(따라서 해당 규칙 owner UID match someuser
은 관련이 없습니다).
[root@localhost ~]# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
ACCEPT tcp -- anywhere localhost owner UID match someuser tcp dpt:krb524
ACCEPT udp -- anywhere localhost owner UID match someuser udp dpt:krb524
ACCEPT tcp -- anywhere localhost owner UID match someuser tcp dpt:upnotifyp
ACCEPT udp -- anywhere localhost owner UID match someuser udp dpt:upnotifyp
REJECT all -- anywhere anywhere owner UID match someuser reject-with icmp-port-unreachable
[root@localhost ~]# iptables -L -t nat
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
MASQUERADE all -- 192.168.A.0/24 anywhere
MASQUERADE all -- anywhere anywhere
이때 i 일 때는 ping imdb.com
호스트에 접근할 수 없다. MASQUERADE iptables 규칙이 책임이 있습니까?
이것은 주소 와 내 게이트웨이가 포함된 실제 인터페이스 ip route
의 출력입니다 .eth0
192.168.X.Y
192.168.X.Z
[root@localhost ~]# ip route
default via 192.168.A.B dev tap0 linkdown
default via 192.168.X.Z dev eth0 proto dhcp src 192.168.X.Y metric 100
127.0.0.0/8 dev lo proto kernel scope link src 127.0.0.1 metric 30
192.168.X.0/24 dev eth0 proto kernel scope link src 192.168.X.Y metric 100
192.168.A.0/24 dev tap0 proto kernel scope link src 192.168.A.B metric 350 linkdown
"linkdown"이라고 되어 있지만 tap0
다음과 같습니다.
[root@localhost ~]# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> ...
...
tap0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 192.168.A.B netmask [255.255.255.0](https://255.255.255.0) broadcast 192.168.A.255
ip addr show
tap0의 상황을 보여줍니다:
tap0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state DOWN group default qlen 1000
이것은 eth0을 위한 것입니다.
<BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 1000
이제 다음을 수행하면 핑이 작동합니다.
ip route delete default via 192.168.A.B
모든 것이 내 실제 게이트웨이를 통해 직접 진행된다고 가정해 보겠습니다.
nmcli
시도해 볼 수 있는 작업: / nmtui
, 및 tap0
사이에 브리지를 만듭니다 eth0
. 이 문제를 해결할 수 있나요? 어떻게 해결하나요?