기본 콘텐츠로 건너뛰기

Ubuntu IP forward setting

우분투에는 레드햇 계열과 달리 iptables의 설정을 저장해놓는 파일이 없다. 좀 만들어 놓지... = _=|

이래 저래 뒤져보니 우분투 공식 사이트에서 /etc/init.d/network 스크립트를 건들이라고 하는데, 그렇게 하면 패키지 업데이트할 때마다 변경된 파일을 어떻게 할 것인지 귀찮게 물어보니 별로 권하고 싶지 않다.

이래 저래 찾아본 결과, /etc/network/if-pre-up.d/ 와 /etc/network/if-post-down.d/ 에 적당히 스크립트를 만들어서 넣을 수 있다고 한다. 나이스!

정확하게 하려면 if-pre-up.d에는 NIC 올리기 전에 실행하는 스크립트로 iptables 세팅을 추가하고, if-post-down.d에는 NIC을 내린 뒤에 실행하는 스크립트로 iptables 세팅을 제거하도록 스크립트를 짜야한다. 그러나 격하게 귀차니즘이 몰려오는 관계로 if-pre-up.d에만 iptables 세팅을 넣는 스크립트를 추가하는 것으로 혼자 합의하였다. (응?)

아래는 IP foward 세팅을 시스템이 켜질 때마다 자동으로 수행할 수 있도록 만든 스크립트이며, 시스템 변경 사항이 없다면 잘 작동할 것이다.

당연히 MYSOURCE 정도는 자신이 허가할 PC의 IP를 세팅하는 수고 정도는 해주고, 우분투 깔고 딱! 한 번 스크립트를 실행한 뒤, 시스템을 재시작하면 알아서 세팅이 들어간 것을 확인할 수 있다.

#!/bin/sh

MYINTERFACE_IN=eth0
MYINTERFACE_OUT=eth0
MYSOURCE=[사용할IP:예)192.168.0.9]/[서브넷마스크:예)32]

echo "net.ipv4.ip_forward = 1" > /etc/sysctl.d/100-ip_forward.conf

echo '#!/bin/sh' > /etc/network/if-pre-up.d/iptables-restore
echo 'iptables-restore < /etc/security/iptables.conf' >> /etc/network/if-pre-up.d/iptables-restore
chmod +x /etc/network/if-pre-up.d/iptables-restore

echo "
*nat
:PREROUTING ACCEPT [58:9060]
:INPUT ACCEPT [53:8808]
:OUTPUT ACCEPT [20:1472]
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -j MASQUERADE 
COMMIT

*filter
:INPUT ACCEPT [575:231513]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [375:210891]
-A FORWARD -s ${MYSOURCE} -i ${MYINTERFACE_IN} -o ${MYINTERFACE_OUT} -m conntrack --ctstate NEW -j ACCEPT 
-A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT 
COMMIT
" > /etc/security/iptables.conf
chmod 0600 /etc/security/iptables.conf

댓글

이 블로그의 인기 게시물

버즈 라이브 배터리 교체

나는 버즈 라이브(SM-R180)가 좋은데, 평가가 별루였는지, 해당 스타일로 버즈를 더 이상 만들지 않고 있다. 아무튼, 오래 쓴 버즈 라이브 배터리가 슬슬 맛이 가기 시작해서, 블로그 를 참조하면서 분해 및 교체를 하였다. (진짜 쉬움) 요로코롬 위아래를 살짝 눌러주면 뚜껑이 벌어진다. 안쪽 플라스틱은 오른쪽은 분홍색, 왼쪽은 회색이다. 리본 케이블 살짝 들어내고, 기판을 떼어내면, 작은 나사가 있다. 나사를 풀고, 플라스틱을 걷어내면, 검은 양면 테이프로 고정된 CR1254 배터리가 보인다. 잘 쑤셔서(?) 꺼낸다. 새로운 CR1254 배터리를 넣는다. 음극이 아래로 가도록 하고, 분해의 역순으로 조립하면 된다. 조립할 때, 아까 풀었던 나사는 잊지 말고 꼭 조여준다. (까먹고 조립해서 다시 뜯고 조립함) 충전도 잘 되고, 소리도 잘 나는거 보면, 조립도 잘 된 것 같다. 이렇게 버즈 라이브의 수명을 강제로 늘렸다. 나중에 본체 배터리도 갈아야겠다.

Windows 에서 절전을 깨우는 장치 찾기

참조:  https://www.reddit.com/r/computer/comments/wquswv/windows_11_pc_wakes_up_every_time_i_move_usb/ powercfg /devicequery wake_armed powercfg /deviceenablewake "[DEVICE]" # $PROFILE function Get-WakeArmedDevices { $devices = powercfg -devicequery wake_armed if ($devices) { $devices | ForEach-Object { $_.Trim() } } else { Write-Host "No devices are currently armed for wake events." } } function Set-EnableWakeOnDevice { param( [string]$deviceName ) sudo powercfg -deviceenablewake $deviceName } function Set-DisableWakeOnDevice { param( [string]$deviceName ) sudo powercfg -devicedisablewake $deviceName }