저는 Arch를 실행하는 상자를 라우터와 방화벽(해안벽 포함)으로 사용합니다. 최근에 시스템에 다른 네트워크를 추가하려고 시도했지만 실패했습니다. 모든 것을 이전 위치로 되돌리고 모든 것이 정확히 동일하다는 것을 확인한 후 내부 네트워크(192.168.1.0/24)에서 외부로 라우팅하는 데 몇 가지 문제가 있습니다. 현재 상황은 다음과 같습니다.
- 방화벽에서 외부 네트워크를 ping할 수 있습니다.
- 내부 네트워크에서 방화벽을 ping할 수 있습니다.
- 내부 네트워크에서 외부 네트워크를 ping할 수 없습니다.
enp5s0
(내부)와 enp6s0
(외부)의 두 가지 네트워크 인터페이스가 있습니다 . 내 경로는 다음과 같습니다 ip route ls
(외부 IP는 .78로 끝나며 나머지는 명백한 이유로 편집했습니다).
default via [redacted].1 dev enp6s0 src [redacted].78 metric 203 mtu 576
[redacted].0/24 dev enp6s0 proto kernel scope link src [redacted].78
[redacted].0/24 dev enp6s0 proto kernel scope link src [redacted].78 metric 203 mtu 576
192.168.1.0/24 dev enp5s0 proto kernel scope link src 192.168.1.1 metric 202
내부 네트워크에 있는 컴퓨터의 경로 추적에 따르면 192.168.1.1에 도달한 후 시간 초과가 발생합니다. 192.168.1.0/24의 트래픽이 enp6s0을 통해 네트워크로 라우팅되도록 허용하려면 다른 경로를 추가해야 할 것 같습니다. 나는 다른 경로를 시도했지만 그 중 아무것도 작동하지 않았습니다. 또한 내 dhcpcd.conf가 변경되었습니다. 주석 줄의 주석 처리를 제거하면 두 번째 기본 경로가 생성되어 모든 연결이 완전히 중단됩니다. 이전에는 이것이 문제가 되지 않았습니다.
interface enp5s0
static ip_address=192.168.1.1/24
#static routers=192.168.1.1
static domain_name_servers=192.168.1.1 # I have TOR DNS bound to this ip
어떤 도움이라도 대단히 감사하겠습니다.
답변1
아치 서버에서도 비슷한 일을 했습니다. 서버에는 enp4s8
"외부" 네트워크와 wlp1s0
"내부" 네트워크가 있습니다. enp4s8
정적으로 정의된 IP 주소는 10.0.0.3이고 DSL 모뎀에 대한 기본 경로는 10.0.0.1입니다.
/usr/bin/ip link set dev wlp1s0 up
/usr/bin/ip addr add 172.16.0.1/24 dev wlp1s0
sleep 10
modprobe iptable_nat
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -s 172.16.0.0/24 -j MASQUERADE
iptables -A FORWARD -o enp4s8 -i wlp1s0 -s 172.16.0.0/24 -m conntrack --ctstate NEW -j ACCEPT
iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
dhcpd -cf /etc/dhcpd.wlp1s0.conf wlp1s0
IPv4 전달이 켜져 있지 않을 수 있으며 iptables
때로는 올바른 전달을 얻기 어려울 수 있습니다.
트릭의 또 다른 부분은 여기에 있습니다 /etc/dhcpd.wlp1s0.conf
. "내부" 네트워크의 시스템에 기본 경로와 DHCP를 사용하는 라우터를 알려주어야 합니다.
option domain-name "fleegle";
option domain-name-servers 172.16.0.1;
option routers 172.16.0.1;
option ntp-servers 10.0.0.3;
default-lease-time 14440;
ddns-update-style none;
deny bootp;
shared-network intranet {
subnet 172.16.0.0 netmask 255.255.255.0 {
option subnet-mask 255.255.255.0;
pool { range 172.16.0.50 172.16.0.200; }
}
}