맥 (Free BSD)
ifconfig en0 alias 172.16.3.100/24 (x는 기존에 할당받아서 사용하던 IP)
해지: ifconfig en0 -alias 172.16.3.100/24
해지: ifconfig en0 -alias 172.16.3.100/24
리눅스
리눅스 에서 IP Aliasing 세팅하기 mini HOWTO Harish Pillay, <h.pillay@ieee.org> 0.?, 1997년 1월 13일 이글은 리눅스박스에서 IP aliasing을 어떻게 설정하고 실행할 것인지에 대한 것이다. 참고로, Alias 된 IP로 E-mail을 받을 수 있도록 설정을 어떻게 할 것인지에 대한 방법이 들어있다. Primary site: <http://home.pacific.net.sg/~harish/linuxipalias.html> ______________________________________________________________________ 목차 1. 나의 환경 2. 명령 및 결과 3. 질문과 답변 3.1 부팅시에 어떻게 환경설정을 지킬 수 있는가? 3.2 IP aliased된 서버의 e-mail 셋업 4. 당신은 모든걸 끝냈다. ______________________________________________________________________ 1. 나의 환경 리눅스 커널 2.0.27 (from ftp.funet.fi:/pub/Linux/kernel/src/v2.0) IP Alias는 로드할수 있는 모듈로 컴파일되었다. 당신이 IP Masq를 모듈로 컴파일 하고 싶다면, 커널 컴파일시 "make config"로 설정할 수 있다. Modules HOWTO를 읽어보거나, /usr/src/linux/Documentation/modules.txt에서 확인할 수 있다. 나는 두개의 IP를 더 쓸 것이고 이 두개는 이미 나에게 부여된 것이다. D-Link DE620 포캣 아답타(어떤 리눅스 아답타를 쓰던지 중요하지 않다.) 2. 명령 및 결과 첫째로 IP Alias 모듈을 띄워야 한다. (미리 모듈을 커널로 컴파일 했으면, 이 단계를 뛰어넘어도 된다.) /sbin/insmod /lib/modules/`uname -r`/ipv4/ip_alias.o 두번째, 루프백을 설정한후 eth0과 모든 다른 IP넘버들은 eth0 인터페이스를 위해서 주 IP넘버로 시작되어야 한다. /sbin/ifconfig lo 127.0.0.1 /sbin/ifconfig eth0 up /sbin/ifconfig eth0 172.16.3.1 /sbin/ifconfig eth0:0 172.16.3.10 /sbin/ifconfig eth0:1 172.16.3.100 172.16.3.1 은 주IP넘버이고 .10과 .100은 Alias된 IP넘버이다. 다른 아이피 넘버에 대해서 eth0:x에 0,1,2...n을 대입하는 것이 방법이다. 주 IP 넘버는 알리아스될 필요가 없다. 셋째로 라우트 정보를 설정한다. 루프백을 첫째로 라우트시키고 net 을 그 다음으로 그리고 마지막으로 기본 아이피(원래 배당받았던)로 시작되는 아이피 넘버들을 셋업한다. /sbin/route add -net 127.0.0.0 /sbin/route add -net 172.16.3.0 dev eth0 /sbin/route add -host 172.16.3.1 dev eth0 /sbin/route add -host 172.16.3.10 dev eth0:0 /sbin/route add -host 172.16.3.100 dev eth0:1 /sbin/route add default gw 172.16.3.200 이게 다이다. 위의 예에서 든 아이피넘버는 Private IP넘버(RFC 1918)를 실제적 예가 되는 목적으로 사용했다. 여러분의의 실제 아이피넘버를 이것이랑 대체해서 써라. 3개의 아이피 넘버에 대해서 예를 들었다. 최대치는 256으로 /usr/include/linux/net_alias.h에 정의되어있다. 사실 한카드에 256개의 IP넘버는 많은 것이다. 여기에 나의 /sbin/infconfig이 보여주는 결과가 있다. lo Link encap:Local Loopback inet addr:127.0.0.1 Bcast:127.255.255.255 Mask:255.0.0.0 UP BROADCAST LOOPBACK RUNNING MTU:3584 Metric:1 RX packets:5088 errors:0 dropped:0 overruns:0 TX packets:5088 errors:0 dropped:0 overruns:0 eth0 Link encap:10Mbps Ethernet HWaddr 00:8E:B8:83:19:20 inet addr:172.16.3.1 Bcast:172.16.3.255 Mask:255.255.255.0 UP BROADCAST RUNNING PROMISC MULTICAST MTU:1500 Metric:1 RX packets:334036 errors:0 dropped:0 overruns:0 TX packets:11605 errors:0 dropped:0 overruns:0 Interrut:7 Base address:0x378 eth0:0 Link encap:10Mbps Ethernet HWaddr 00:8E:B8:83:19:20 inet addr:172.16.3.10 Bcast:172.16.3.255 Mask:255.255.255.0 UP BROADCAST RUNNING MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 TX packets:0 errors:0 dropped:0 overruns:0 eth0:1 Link encap:10Mbps Ethernet HWaddr 00:8E:B8:83:19:20 inet addr:172.16.3.100 Bcast:172.16.3.255 Mask:255.255.255.0 UP BROADCAST RUNNING MTU:1500 Metric:1 RX packets:1 errors:0 dropped:0 overruns:0 TX packets:0 rrors:0 dropped:0 overruns:0 그리고 /proc/netaliase: device family address eth0:0 2 172.16.3.10 eth0:1 2 172.16.3.100 또 /proc/net/alias_types에서 보여지는 것이다. type name n_attach 2 ip 2 물론, /proc/net에 있는 이런것들은 ifconfig 명령에 의해서 만들어진 것이지 내 수작업이 아니다!! 3. 질문과 답변 3.1. 부팅시에 어떻게 환경설정을 지킬 수 있는가? 당신이 BSD스타일이나 SysV스타일(예:레드햇)의 init을 쓰던 당신은 /etc/rc.d/rc.local에 그것을 포함할 수 있다. 아래에는 내가 쓰는 SysV init 이다.(레드햇 3.0.3 or 4.0) 나의 /etc/rc.d/rc.local (edited to show the relevant portions) #setting up IP alias interfaces echo "Setting 172.16.3.1, 172.16.3.10, 172.16.3.100 IP Aliases ..." /sbin/ifconfig lo 127.0.0.1 /sbin/ifconfig eth0 up /sbin/ifconfig eth0 172.16.3.1 /sbin/fconfig eth0:0 172.16.3.10 /sbin/ifconigfeth0:1 172.16.3.100 #setting up the routes echo "Setting IP routes ..." /sbin/route add -net 127.0.0.0 /sbin/route add -net 172.16.3.0 dev eth0 /sbin/route add -host 172.16.3.1 eth0 /sbin/route add -host 172.16.3.10 eth0:0 /sbin/route add -host 172.16.3.100 eth0:1 /sbin/route add default gw 172.16.3.200 3.2. IP aliased된 서버의 e-mail 셋업 질문: 어떻게 각양각색으로 alias된 아이피 넘버에서 IP aliased된 서버를 e-mail을 받게 셋업할수 있습니까?(sendmail을 쓰는 서버에서) /etc/mynames.cw의 예에서 보여지는것과 같은 파일을 만들라(그것이 존재하지 않는다면) 그것은 이것과 같은 이름이 아니거나 /etc디렉토리에 없을수도 있다. (역자주: 레드헷에서는 sendmail.cf 에서 cw 를 사용한다고 정의되 있다./etc/sendmail.cw 를 사용한다.) 이 파일에서 alias된 아이피넘버의 도메인 네임을 적는다. 만약 알리아스된 아이피가 도메인네임을 안가지고 있을경우에는 아이피넘버 자체만을 써줄수도 있다. ______________________________________________________________________ /etc/mynames.cw: ---------------- # /etc/mynames.cw - 당신의 서버에대한 모든 알리아스 이름을 여기다 적는다. # 은 주석이다. domain.one.net domain.two.com domain.three.org 4.5.6.7 ______________________________________________________________________ 당신의 sendmial.cf 화일에서 파일 클래스 매크로 Fw를 정의하는 부분에서 다음을 추가한다. ______________________________________________________________________ ################## # local info # ################## . . # 우리가 이-메일을 받기위한 호스트 이름을 가지고있는 파일 Fw/etc/mynames.cw . . . ______________________________________________________________________ 이것은 꼭 해봐야 한다. 새로운 설정을 테스트하기 위해서 테스트모드로 센드메일을 실행을 한다. (역자주: 말 그데로 꼭 해보기 바란다. sendmail 은 메일을 받고 보내기 위한 아주 중요한 데몬이다. 약간의 실수로 메일을 못 받게 된다면?) ganymede$ /usr/lib/sendmail -bt ADDRESS TEST MODE (ruleset 3 NOT automatically invoked) Enter < ruleset> < address> > 0 me@4.5.6.7 rewrite: ruleset 0 input: me @ 4 . 5 . 6 . 7 rewrite: ruleset 98 input: me @ 4 . 5 . 6 . 7 rewrite: ruleset 98 returns: me @ 4 . 5 . 6 . 7 rewrite: ruleset 97 input: me @ 4 . 5 . 6 . 7 rewrite: ruleset 3 input: me @ 4 . 5 . 6 . 7 rewrite: ruleset 96 input: me < @ 4 . 5 . 6 . 7 > rewrite: ruleset 96 returns: me < @ 4 . 5 . 6 . 7 . > rewrite: ruleset 3 returns: me < @ 4 . 5 . 6 . 7 . > rewrite: ruleset 0 input: me < @ 4 . 5 . 6 . 7 . > rewrite: ruleset 98 input: me < @ 4 . 5 . 6 . 7 . > rewrite: ruleset 98 returns: me < @ 4 . 5 . 6 . 7 . > rewrite: ruleset 0 returns: $# local $: me rewrite: ruleset 97 returns: $# local $: me rewrite: ruleset 0 returns: $# local $: me > 0 me@4.5.6.8 rewrite: ruleset 0 input: me @ 4 . 5 . 6 . 8 rewrite: ruleset 98 input: me @ 4 . 5 . 6 . 8 rewrite: ruleset 98 returns: me @ 4 . 5 . 6 . 8 rewrite: ruleset 97 input: me @ 4 . 5 . 6 . 8 rewrite: ruleset 3 input: me @ 4 . 5 . 6 . 8 rewrite: ruleset 96 input: me < @ 4 . 5 . 6 . 8 > rewrite: ruleset 96 returns: me < @ 4 . 5 . 6 . 8 > rewrite: ruleset 3 returns: me < @ 4 . 5 . 6 . 8 > rewrite: ruleset 0 input: me < @ 4 . 5 . 6 . 8 > rewrite: ruleset 98 input: me < @ 4 . 5 . 6 . 8 > rewrite: ruleset 98 returns: me < @ 4 . 5 . 6 . 8 > rewrite: ruleset 95 input: < > me < @ 4 . 5 . 6 . 8 > rewrite: ruleset 95 returns: me < @ 4 . 5 . 6 . 8 > rewrite: ruleset 0 returns: $# smtp $@ 4 . 5 . 6 . 8 $: me < @ 4 . 5 . 6 . 8 > rewrite: ruleset 97 returns: $# smtp $@ 4 . 5 . 6 . 8 $: me < @ 4 . 5 . 6 . 8 > rewrite: ruleset 0 returns: $# smtp $@ 4 . 5 . 6 . 8 $: me < @ 4 . 5 . 6 . 8 > > 내가 me@4.5.6.7을 테스트했을때를 주의해서보자. 그것은 me@4.5.6.8이 smtp mailer에 의해서 통제가 끝나는 동안 로칼 머쉰에 메일을 보냈다. 4. 당신은 모든걸 끝냈다. 앞서 말했던 것이 유용했으면 좋겠다. 이 리눅스와 아이피 알리아싱에 대한 일들에 관여했던 모든 이들에게 감사드린다. 만약 당신이 이 문서가 유용하거나 질문, 제안을 할것이 있거나 개선을 해야할 점을 발견하면 <h.pillay@ieee.org>로 E-mail 을 보내달라.
'Linux' 카테고리의 다른 글
CONFIG_MODVERSIONS (0) | 2012.08.29 |
---|---|
[EXT4] noauto_da_alloc 에 관해 (2) | 2012.08.28 |
Macbook에서 Linux 커널패닉 날때 (IO APIC) (2) | 2012.08.09 |
Byobu 도움말 (0) | 2012.07.24 |
[Linux/Unix]디스크 쿼타(Disk Quota) (0) | 2012.07.20 |