우분투 14에서 데비안 8로 "openvpn 서버 구성"을 이식하고 있습니다. 지금까지는 이 섹션을 제외하고는 잘 작동합니다.
# Set up iptables to forward packets for vpn and do this upon startup.
echo 'iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -s 10.8.0.0/24 -j ACCEPT
iptables -A FORWARD -j REJECT
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
exit 0' > /etc/rc.local
데비안 8은 이 파일을 사용하지 않는 것 같아서 /etc/rc.local
VPN 서버가 다시 시작한 후 트래픽을 올바르게 전달하지 않습니다. 스크립트를 수동으로 호출하거나 명령을 실행해야 합니다.
부팅 시 iptables를 업데이트하는 "debian 8 방식"은 무엇입니까?
고쳐 쓰다
해당 내용을 읽은 후 /etc/rc.local
권한을 755로 설정하고 다음과 같이 스크립트를 업데이트했습니다.
/bin/echo "starting..." > /root/rc.local.log
/sbin/iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
/sbin/iptables -A FORWARD -s 10.8.0.0/24 -j ACCEPT
/sbin/iptables -A FORWARD -j REJECT
/sbin/iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
/bin/echo "completed successfully" >> /root/rc.local.log
exit 0
그런 다음 빈 항목을 만들고 /root/rc.local.log
재부팅하기 전에 권한을 부여했습니다 777
. 파일이 여전히 비어 있어서 /etc/rc.local 스크립트가 전혀 실행되지 않는 것 같습니다.
답변1
데비안이 시작 시 iptables를 설정하는 방법은 다음과 같습니다.iptables-지속성팩.
패키지를 설치하고 iptables-persistent
필요에 따라 iptables 규칙을 설정한 후 netfilter-persistent save
.netfilter
설마iptables
.)
보다netfilter-persist의 매뉴얼 페이지자세한 내용은.
Debian 7(Wheezy)부터 테이블 저장 방법이 변경되었습니다. Wheezy에서 사람들은 다음과 같은 작업을 수행합니다 invoke-rc.d iptables-persistent save
.
답변2
iptables
부팅 시 데비안 8을 어떻게 설정해야 하는지에 대한 명확한 대답은 없지만 rc.local
작동할 것입니다.
systemd의 경우 이는 네트워크 이후에 자동으로 시작되고 실행되는 rc.local
에 의해 처리됩니다 . 유일한 요구 사항은 실행 가능해야 한다는 것입니다./lib/systemd/system/rc-local.service
/etc/rc.local start
/etc/rc.local
chmod 755 /etc/rc.local
또한 #!/bin/sh
systemd로 실행하려면 rc.local 파일 상단에 이를 추가해야 합니다. 그렇지 않으면 Failed at step EXEC spawning /etc/rc.local: Exec format error
실행할 때 빨간색 오류가 발생합니다.sudo journalctl