두개의 LAN 카드 설치시 Gateway 설정은?.
글쓴이: vigor96 / 작성시간: 화, 2003/10/21 - 6:21오후
안녕하세요.
다름이 아니라.
내부 네트웍 이런거 할려는 게 아니고요.
다른 대역에 있는 네트웍 2개를 한 컴퓨터에 설치하려고 하는데요.
...그 이유는 DNS 변경이 늦어지고 있어서...하나의 컴퓨터에서
두개의 ip 에 대해서 서비스를 해주려고 하는 겁니다.
eth0 , eth1 설정은 잘 맞쳐주었는데요..
문제가 있답니다.
그러니까.
route 명령을 내리면
Destination Gateway Genmask Flags Metric Ref Use Iface 203.231.xx.8 0.0.0.0 255.255.255.255 UH 0 0 0 eth1 221.148.xx.8 0.0.0.0 255.255.255.255 UH 0 0 0 eth0 221.148.xx.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 203.231.xx.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1 127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo 0.0.0.0 203.231.xx.254 0.0.0.0 UG 0 0 0 eth1
이렇게 보이는 데요.
default gateway 를 203.231.xx.254 로 해주면.
외부에서 203.231.xx.8 로 접속할 때는 서비스가 되는데..
221.148.xx.8 로 접속할 때는 서버에서 반응이 없습니다.
반대로 default gateway 를 221.148.xx.254 로 해주면.
외부에서 221.148.xx.8로 접속할 때는 서비스가 되는데..
203.231.xx.8 로 접속할 때는 서버에서 반응이 없습니다.
어떻게 해줘야 하는지 궁금합니다.
eth0 로 들어온 패킷은 eth0 게이트웨이를 통해서 나가고
eth1 로 들어온 패킷은 eth1 게이트웨이를 통해서 나가게 하고 싶은데..
그렇게 하는 방법은 무엇인지요....
좋은 하루 되십시오~~~~~
Forums:
221.148.xx 대역의 default router 를 아셔야하고 그것
221.148.xx 대역의 default router 를 아셔야하고 그것을 만약 221.148.xx.254 라한다면...
route add default gw 221.148.xx.254
라고 넣어 주셔야합니다.
configuration file 어딘지는 몰라서 그런건데, 윗줄을 rc.local 등에 넣어 주세요.
---
http://coolengineer.com
[quote="pynoos"]221.148.xx 대역의 default r
답변 감사합니다만.
route add default gw 221.148.xx.254
이렇게 했을 시에는
203.231.xx.8 로 외부에서 접근하려고 하면 접근이 안됩니다.
gateway default 가 여러개 있을 때에는 맨 마지막에 한 설정이
유효하더군요.
eth0 으로 온 패킷은 eth0 으로 보내고
eth1 으로 온 패킷은 eth1 으로 보내고.
이런게 왜 안될까요?.
두개의 Lan 설정에 대해서 ...... (이렇게 해보는것도 어떠한지&
이와 비슷한 방법으로 테스트을 해보시는것이 어떠한지요.------------
ㅠ ㅠ 줄이 잘 안보이네요.. 이런
ip:192.168.9.1 ip: 192.168.10.4
gw:192.168.9.254 gw: 192.168.10.254
------------ -----------
| 1번서버 | | 2번서버|
------------ -----------
| |
| |
| |
------- --------
|eth0| |eth1 |
-- -------------------- ----
| |
| 3번 서버 |
-----------------------------------------
eth0 : 192.168.9.10
eth1 : 192. 168.10.10
gw : 192.168.9.254
route add -net 192.168.10.4 netmask 255.255.255.0 gw 192.168.10.254
* 이렇게 하지 마세요 --------------------------------------------------------
route add -net 0.0.0.0 netmask 0.0.0.0 gw 192.168.10.254
route add -net 0.0.0.0 netmask 0.0.0.0 gw 192.168.9.254
--------------------------------------------------------------------------------
위 사항은 단편적인 내부 네트웍 구성시 세팅하는 방법입니다.
내부 구성을 약간 변경해서 해보시면 가능하리라 보는데
현재 전 위와 같은 비슷한 방법으로 두개의 공인 IP 설정해서 웹서비스를
하고 있습니다.
*
열쉼히 세상을 살자
route add -net 221.148.xx.0 netmask 255.
route add -net 221.148.xx.0 netmask 255.255.255.0 gw 221.148.xx.254
이렇게 설정해 놓고
해도 221.148.xx.8 이 외부에서 접근이 안됩니다.
default gateway 는 203.231.xx.254 로 잡았구요.
해결책은 없는건가요?..
ifcfg-eth0 , ifcfg-eth1 설정이 올바로 되었는지요
route
코드:
Destination Gateway Genmask Flags Metric Ref Use Iface
203.231.xx.8 0.0.0.0 255.255.255.255 UH 0 0 0 eth1
221.148.xx.8 0.0.0.0 255.255.255.255 UH 0 0 0 eth0
221.148.xx.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
203.231.xx.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo
0.0.0.0 203.231.xx.254 0.0.0.0 UG 0 0 0 eth1
위에 Genmask
203.231.xx.8 0.0.0.0 255.255.255.255 UH 0 0 0 eth1
221.148.xx.8 0.0.0.0 255.255.255.255 UH 0 0 0 eth0
이상한 부분이 있군요 --
이 부분에서 ifcfg-eth0 ifcfg-eth1 에 gateway 가 있으면 제거를 하시고요
/etc/sysconfig/network 파일에 GATEWAY=" " 두개의 gw 중 하나의 gw 선택하시고
service network restart
해보세요
* 하나씩 접근하면서 찾으면 문제점을 찾을수 있겠지요..
열쉼히 세상을 살자
Re: ifcfg-eth0 , ifcfg-eth1 설정이 올바로 되었는지요
답변감사합니다
203.231.xx.8 0.0.0.0 255.255.255.255 UH 0 0 0 eth1
221.148.xx.8 0.0.0.0 255.255.255.255 UH 0 0 0 eth0
이부분은 다 있는 것으로 압니다. 자신의 IP 대해 세팅한 것이기 때문입니다.
그리고 님이 해 주신대로 해도...
기존 저의 route 세팅과 같아 집니다.
여전히 두 ip 동시에 접근이 불가능 합니다.
route 문제라고 생각됩니다.
여기 저기 찾아봐도 마땅한 해결책이 보이지 않습니다. ㅠㅠ
Static Network setup for two network cards in Linux
vi /etc/sysconfig/static-routes and in this case, add the following telling which ethernet card to use which gateway/router:
eth1 net 193.61.32.0 netmask 255.255.255.0 gw 193.61.32.245
eth0 net 193.61.34.0 netmask 255.255.254.0 gw 193.61.34.245
Check: /etc/sysconfig/network
Reboot and if you do netstat -rn you should get something like:
route
[ccp14@mill rc.d]# netstat -rn
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
193.61.32.0 0.0.0.0 255.255.255.0 U 40 0 0 eth1
193.61.34.0 0.0.0.0 255.255.254.0 U 40 0 0 eth0
127.0.0.0 0.0.0.0 255.0.0.0 U 40 0 0 lo
0.0.0.0 193.61.32.245 0.0.0.0 UG 40 0 0 eth1
ifconfig -a should give something like the following
[root@mill root]# ifconfig -a
eth0 Link encap:Ethernet HWaddr 00:02:B3:63:EF:43
inet addr:193.61.35.89 Bcast:193.61.35.255 Mask:255.255.254.0
UP BROADCAST NOTRAILERS RUNNING MTU:1500 Metric:1
RX packets:2489300 errors:0 dropped:0 overruns:0 frame:0
TX packets:27034 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:214548375 (204.6 Mb) TX bytes:2219890 (2.1 Mb)
Interrupt:5 Base address:0x1000
eth1 Link encap:Ethernet HWaddr 00:02:B3:63:EF:35
inet addr:193.61.32.160 Bcast:193.61.32.255 Mask:255.255.255.0
UP BROADCAST NOTRAILERS RUNNING MTU:1500 Metric:1
RX packets:162821 errors:0 dropped:0 overruns:0 frame:1
TX packets:48863 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:81052332 (77.2 Mb) TX bytes:2639558 (2.5 Mb)
Interrupt:10 Base address:0x3000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:22 errors:0 dropped:0 overruns:0 frame:0
TX packets:22 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:1616 (1.5 Kb) TX bytes:1616 (1.5 Kb)
열쉼히 세상을 살자
이렇게 나오네요.[code:1][root@www /etc&
이렇게 나오네요.
여전히 안됩니다.
ㅠㅠ
레드햇 기준으로
레드햇 기준으로 /etc/sysconfig/network 에
GATEWAYDEV=eth0
이런 식으로, 기본값으로 쓸 이더넷 카드 디바이스를 적으면 됩니다.
아니면
route add default gw 192.168.1.1
route add default gw 200.111.222.333
route add -net 200.111.222.0 netmask 255.255.255.0
gateway 192.168.1.1
이렇게 수동으로 넣어보세요.
각 이더넷마다 각각의 게이트웨이를 지정해주시면 될것 같습니다.ro
각 이더넷마다 각각의 게이트웨이를 지정해주시면 될것 같습니다.
route add default gw 221.148.xx.254 eth0
route add default gw 203.231.xx.254 eth1
GG, GL~
Re: 레드햇 기준으로
여전히 안됩니다.
이유는 default gw 를 2개로 지정한다고 해도
나중에 지정한 default gateway 가 default 로 작동합니다.
tcpdump 로 조사해보면
203.231.xx.254 가 gateway 로 되어 있다면.
외부에서 221.148.xx.8 주소로 접근했을 때
패킷이 들어오는건 eth0 인데 ...
패킷이 나가는 곳은 203.231.xx.254 로 나가기 때문에 ( default gw 가 203.231.xx.254 이기 때문에 )
eth1 입니다. 즉 외부에선 이 패킷을 받을 수가 없게 됩니다.
반대로 gateway 를 잡아도 똑같은 현상이 발생합니다.
ipchains 같은걸 이용해야 하는지 궁금합니다.
괜찮으시면, dev(디바이스)옵션을 줘서 다시 한번만 해보시겠습니까?
괜찮으시면, dev(디바이스)옵션을 줘서 다시 한번만 해보시겠습니까?
route add -net 221.148.xx.0 netmask 255.255.255.0 dev eth0
route add default gw 221.148.xx.254 dev eth0
route add -net 203.231.xx.0 netmask 255.255.255.0 dev eth1
route add default gw 203.231.xx.254 dev eth1
[quote="우겨"]괜찮으시면, dev(디바이스)옵션을 줘서 다시 한번
그래도 안되네요.
eth0 로 왔다는 정보를 커널이 모르나 봅니다.
eth0 오면 eth0 로 보내면 좋을텐데..그게 안되네요..
eth0으로 오는 것은 eth0으로 eth1로 오는 것은 eth1로 간다
eth0으로 오는 것은 eth0으로 eth1로 오는 것은 eth1로 간다는 생각을 약간 수정하셔야 할 것 같습니다.
하나의 호스트로 가는 gateway가 두 군데 있고, 두 gateway 모두 살아 있다면, 먼저 채택된 gateway가 좀처럼 바뀌지 않는 것이 routing 기본 성질입니다.
저도 두 개의 gateway를 설정해보라고 권하였지만, 잘생각해보니 그렇게 되지 않겠네요.
default를 설정하는 것이 아니라, eth1 에서 들어노는 모든 IP 대역을 등록해주어야할 것 같습니다.
---
http://coolengineer.com
...
저같은 경우는 리얼아이피에서 dhcp사용시 게이트웨이 설정은 제껴줍니다.
가상아이피에서도 게이트웨이는 제껴두고요
만일 고정아이피의 게이트웨이 설정시는 회선의 최초 증설시 dhcp에서 잡혀있는 게이트웨이를 적용하시면 될것 같군요...
회선증설시 리얼아이피에서의 고정아이피 선점은 dhcp기반하에서 잡혀있는 상태로 ip를 묶에두는 것으로 알고 있읍니다.
무한한 상상력과 강한실행욕구는 엔지니어의 마지막 무기~
[quote="pynoos"]eth0으로 오는 것은 eth0으로 eth1
eth1 로 들어오는 IP 어느 아이피 인지 확신을 할 수 없답니다.
eth0 <-> eth0 , eth1 <-> eth1 이런 방법은 없는건가요?.
일반 router 설정이나 route 명령으로 해결될 문제가 아닙니다.
일반 router 설정이나 route 명령으로 해결될 문제가 아닙니다.
iproute 와 iptables를 병행해서 사용해야 문제를 해결할 수 있을 것 같네요
우선 1단계 iptables의 잘 안쓰는 기능중에 Mark target이 있읍니다. 그러면 패킷에 마킹을 할 수 있읍니다.
iptables -t mangle -A INPUT -i eth0 -j MARK --set-mark 1
iptables -t mangle -A INPUT -i eth1 -j MARK --set-mark 2
이런식으로 마킹합니다. 그러면 패킷이 eth0에서 온건지 eth1에서 온건지 구분할 수 있읍니다.
그리고 리눅스의 일반 라우트 명령이 아닌 iproute 를 사용해서 기본 default routing table이외에 별개의 routing table을 설정합니다. iproute 패키지는 route명령으로 보는 기본 routing 테이블이외에 별개의 다른 라우팅 테이블을 만들고 제어할 수 있읍니다.
말하자면 패킷을 처리하는 파이프를 하나에서 여러개을 만들 수 있다는 얘기죠
이 것에 대한 설명은 복잡하니까 kldp의 traffic load balancing howto를 찾아 보세요 자세히 나와있읍니다.
마지막으로
ip rule add fwmark 1 table wan0
ip rule add fwmark 2 table wan1
이런식으로 설정합니다. 여기서 wan0과 wan1은 eth0과 eth1을 위한 새로 만든 라우팅 테이블을 말합니다. 이렇게 되면 위의 iptable에서 마킹한 패킷이 리눅스의 기본 라우팅 테이블로 가지않고 새로만든 라우팅 테이블로 떨어집니다. 거기서 디폴트 라우팅을 eth0의 IP주소로 하면 됩니다.
즉 eth0에서 온 패킷은 eth0을 처리하기 위한 table을 만들어서 처리하면 되고
eth1으로온 패킷은 eth1을 위한 table에서 처리하면 되지요
아 참 잊을뻔 했군요 나가는 패킷은 다시 다른 방법으로 마킹해줘야 합니다. 응답패킷은 각각 받은 디바이스의 주소로 시작주소가 됩니다. 따라서
iptables -t mangle -A PREROUTING -s [eth0_IP] -j MARK --set-mark 1
iptables -t mangle -A PREROUTING -s [eth1_IP] -j MARK --set-mark 2
이런식으로 설정합니다.
이 명령들은 직접 테스트를 해보지는 않아서 몇가지 에러가 발생할 겁니다.
그리고 대략의 명령이라서 패킷을 마킹하거나 routing 테이블을 구성하는 것을 고민해보셔야 합니다.
대충 두서 없이 설명했는데
이 기능들을 다 쓰기 위해서는 우선 커널컴파일이 필요합니다. 일반적으로 안쓰는 옵션 몇가지를 사용해야 하기 때문에 대표적인게 MARK target입니다. 그리고 iptables도 다시 컴파일해야 합니다. 기본적으로 깔려 있는 iptables는 MARK 타겟을 사용할 수 없는 걸로 알고 있읍니다. 배포판에 따라 달라서 확인을 해보세요..
그럼 도움이 되셨기를 .....
ip route add default nexthop via 203.231
ip route add default nexthop via 203.231.xx.254 dev eth0 nexthop via 221.148.xx.254 dev eth1
이렇게 하시믄 될거 같은데.....
hi 용
[quote="wooho47"]ip route add default ne
이 방법은 외부로 나가는 트래픽을 트래픽이 점유하는 시간에 대한 비율로 eth0과 eth1으로 load balancing 방법입니다. 상황에 따라서 eth0으로 들어온 서버 서비스 요청의 응답 패킷이 eth1으로 나갈 수도 있읍니다. 동작은 되겠지만 패킷의 상당수가 엉뚱한데로 흘러나가 사라질 겁니다.
Re: 두개의 LAN 카드 설치시 Gateway 설정은?.
오래된 글이지만 혹시나 검색해서 보시는 분들을 위하여 답글을 적어봅니다.
이렇게 하시면 될것 같습니다.
우선
221.148.xx.0 네트웍의 게이트웨이가 221.148.xx.254
203.231.xx.0 네트웍의 게이트웨이가 203.231.xx.254 가 맞다면
라우팅 테이블은
route add -net 221.148.xx.0 221.148.xx.254 -netmask 255.255.255.0
route add -net 203.231.xx.0 203.231.xx.254 -netmask 255.255.255.0
route add -net default 221.148.xx.254
default gateway는 어느쪽을 잡아도 무방하지만 로컬에서 보낼때의 주 경로이므로 잘 선택하십시요.
또한, default gateway는 말 그대로 default 이기에 두개가 될 수 없습니다.
삽질에 재미붙은 Creater ~~ ^_^ :roll:
댓글 달기