iptables를 사용하여 단일 홈 호스트를 NAT 서버로 변환할 수 있습니까?

iptables를 사용하여 단일 홈 호스트를 NAT 서버로 변환할 수 있습니까?

반면:컴퓨터가 있습니다 (HostA)오직인터넷 연결이 가능한 NIC. 동일한 스위치에 네트워크 카드가 있는 다른 컴퓨터(HostB)가 있습니다. 호스트 B는아니요인터넷 액세스가 구성되지 않았습니다. HostA에는 기본 게이트웨이와 DNS 서버가 올바르게 구성되어 있습니다. IPv4를 사용하고 있습니다. 호스트 운영 체제는 Ubuntu 13 및 Fedora17입니다.

내가 원하는 것은:이제 HostB도 인터넷에 연결할 수 있기를 바랍니다. iptables가상 tun/tap 장치의 "특정" 조합이나 HostA와 HostB 간의 VPN 설정 등을 사용할 수 있습니까 ?

내가 이미 알고 있고 할 수 있는 것:현재 sshHostB( ssh -D 9050 UserA@HostA)에서 SOCKS 기반 프록시를 사용하고 이 프록시를 통해 HostB에서 선택한 "삭제된" 애플리케이션에 대한 트래픽을 HostA 및 기타 위치로 라우팅할 수 있습니다. 그러나 불행하게도 모든 애플리케이션을 인증할 수 있는 것은 아닙니다. 이제 HostA에 2개의 NIC가 있는 경우 몇 가지 규칙을 사용하여 HostA를 게이트웨이로 변환한 다음 NIC-1과 NIC-2(NIC-1은 HostB, NIC에 연결됨) 간에 트래픽을 라우팅할 수 있다는 것이 분명해졌습니다 iptables. - 인터넷에 2개). 하지만 HostA에 다른 네트워크 카드를 설치하는 것은 나에게는 불가능합니다.

추신: 저는이전에 게시한 내용입니다.superuser.com에 있지만 유용한 정보가 없습니다.

편집 1:

인터넷 정보

호스트 A:

:> ip addr
[...]
2: p4p1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether d4:be:d9:d5:46:05 brd ff:ff:ff:ff:ff:ff
inet 192.168.22.9/24 brd 192.168.22.255 scope global p4p1 

:> ip route
default via 192.168.22.254 dev p4p1 proto static
192.168.22.0/24 dev p4p1 proto kernel scope link src 192.168.22.9

호스트 B:

:> ip addr
[...]
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 30:f9:ed:d9:2e:20 brd ff:ff:ff:ff:ff:ff
inet 192.168.22.234/24 brd 192.168.22.255 scope global eth0 

:> ip route
169.254.0.0/16 dev eth0 scope link metric 1000
192.168.22.0/24 dev eth0 proto kernel scope link src 192.168.22.234 metric 1

답변1

라우팅은 "보내는 곳(및 경우)"에 관한 것입니다. 이는 단순히 NIC를 선택하는 것 이상의 의미를 갖습니다. 귀하의 경우 라우팅은 매우 간단합니다.

가장 간단한 형식(호스트 A의 모든 명령)으로 위장해야 합니다.

iptables -t nat -I POSTROUTING -s 192.168.22.234 -j MASQUERADE

어쩌면 (아직은 아니더라도) 전달을 허용해야 할 수도 있습니다.

iptables -I FORWARD 1 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -I FORWARD 2 -s 192.168.22.234 -j ACCEPT

호스트 A가 호스트 B의 기본 게이트웨이로 구성되었다고 가정합니다.

편집 1:

약간의 대화와 논의 끝에 상황은 더욱 명확해졌습니다. 이론적으로는 B에 기본 게이트웨이를 구성하는 것만으로도 충분합니다. 그러나 게이트웨이(질문자의 통제하에 있지 않음)가 호스트 B를 차단하는 것 같습니다. 따라서 위장 솔루션이 필요합니다.

관련 정보