
무선 라우터처럼 작동하도록 내장된 장치를 구성하고 싶고, 네트워크 구성 파일을 사용하여 이를 구현하고 싶습니다.
유선 WAN 인터페이스와 무선 LAN 인터페이스라는 두 개의 *.network 파일이 있는데 LAN 트래픽이 WAN에 액세스할 수 있도록 하고 싶습니다.
# cat /etc/systemd/network/wired.network
[Match]
Name=eth0
[Network]
DHCP=ipv4
IPForward=yes
IPMasquerade=yes
무선 라우터의 경우와 마찬가지로 무선 LAN 네트워크도 DHCP를 제공합니다. 나는 systemd 통합 DHCP 서버를 사용했습니다.
# cat /etc/systemd/network/wireless.network
[Match]
Name=wlan0*
[Network]
Description = Wireless IP interface
DHCPServer= yes
[Address]
Address = 192.168.128.1/24
Broadcast = 192.168.128.255
[DHCPServer]
PoolOffset = 10
PoolSize = 40
EmitDNS = yes
DNS = 8.8.8.8, 8.8.4.4
DefaultLeaseTimeSec = 600
MaxLeaseTimeSec = 7200
[Route]
나는 무선 라우터에서 흔히 발생하는 것처럼 두 네트워크 사이에 NAT가 있어야 한다고 가정하지만 이는 명시적인 요구 사항은 아닙니다.
제가 현재 알고 있는 한 이것은 유선 인터페이스가 WAN에 제대로 연결되고 무선 액세스 포인트도 DHCP 주소를 제공한다는 것입니다. 그런데 WiFi AP에 연결하면 WAN(인터넷)에 접속할 수 없습니다.
다음은 일부 네트워크 인터페이스 상태입니다.
# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:26:32:f0:03:21 brd ff:ff:ff:ff:ff:ff
inet 192.168.178.107/24 brd 192.168.178.255 scope global dynamic eth0
valid_lft 4650sec preferred_lft 4650sec
inet6 fe80::226:32ff:fef0:321/64 scope link
valid_lft forever preferred_lft forever
3: sit0@NONE: <NOARP> mtu 1480 qdisc noop state DOWN group default
link/sit 0.0.0.0 brd 0.0.0.0
4: wlan0wext: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:1d:43:40:0d:04 brd ff:ff:ff:ff:ff:ff
inet 192.168.128.1/24 brd 192.168.128.255 scope global wlan0wext
valid_lft forever preferred_lft forever
inet6 fe80::21d:43ff:fe40:d04/64 scope link
valid_lft forever preferred_lft forever
경로 상태:
# ip route
default via 192.168.178.1 dev eth0 proto dhcp src 192.168.178.107 metric 1024
192.168.128.0/24 dev wlan0wext proto kernel scope link src 192.168.128.1
192.168.178.0/24 dev eth0 proto kernel scope link src 192.168.178.107
192.168.178.1 dev eth0 proto dhcp scope link src 192.168.178.107 metric 1024
# ip route show table local
broadcast 127.0.0.0 dev lo proto kernel scope link src 127.0.0.1
local 127.0.0.0/8 dev lo proto kernel scope host src 127.0.0.1
local 127.0.0.1 dev lo proto kernel scope host src 127.0.0.1
broadcast 127.255.255.255 dev lo proto kernel scope link src 127.0.0.1
broadcast 192.168.128.0 dev wlan0wext proto kernel scope link src 192.168.128.1
local 192.168.128.1 dev wlan0wext proto kernel scope host src 192.168.128.1
broadcast 192.168.128.255 dev wlan0wext proto kernel scope link src 192.168.128.1
broadcast 192.168.178.0 dev eth0 proto kernel scope link src 192.168.178.107
local 192.168.178.107 dev eth0 proto kernel scope host src 192.168.178.107
broadcast 192.168.178.255 dev eth0 proto kernel scope link src 192.168.178.107
[Route] 섹션에 대한 예제를 많이 찾을 수 없었고 라우팅에 대한 기본적인 이해만 했습니다.
감사합니다, Iztok Jeras
답변1
위의 .network 파일에서 가장이 누락된 것을 발견했습니다. 다음 수정 사항은 다음과 같습니다.
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
내 버전의 systemd가 iptables 지원 없이 구축된 것으로 나타났습니다. 옵션을 사용하여 다시 빌드하면 'libiptc'
문제가 해결됩니다. 추가해야 했어요
IPForward=yes
IPMasquerade=yes
wireless.network 파일에도 적용됩니다.
답변2
RHEL 5 & 6
고려하는 것은 153.xx
당신의 것입니다System IP
임시 경로 추가
ip route add 192.168.10.0/24 via 153.254.92.42 dev eth0
영구 경로 추가
echo "192.168.10.0/24 via 153.254.92.XX" >> /etc/sysconfig/network-scripts/route-eth1
을 위한RHEL 7
임시 경로 추가
ip route add 192.168.20.0/29 via 153.254.92.XX dev enp00s0f0
영구 경로 추가
echo "192.168.10.0/24 via 153.254.92.XX" >> /etc/sysconfig/network-scripts/ifcfg-enp00s0f0
답변3
문제는 경로 구성에 있는 것이 아니라 iptables 구성이 누락된 것입니다.